Linux作为一种开源的操作系统,已经在各种场景中得到了广泛的应用,主要是因为Linux操作系统具有高度的稳定性和灵活性。在操作系统中,磁盘块设备是非常重要的一部分,因为它可以提供可靠的数据存储和读取机制,同时也是Linux系统下各种文件系统的支撑。本文将重点讲解Linux系统中磁盘块设备的管理方法,希望能对初学者有所帮助。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、虚拟空间、营销软件、网站建设、绵竹网站维护、网站推广。
一、磁盘块设备管理
在Linux系统中,可以通过blkid、llk、fdisk和parted等命令来查看和管理磁盘块设备。其中,blkid命令用于查看文件系统的类型和UUID等信息,llk命令用于列出块设备信息和挂载点,fdisk命令则用于创建、修改和删除分区,而parted命令则更为强大,可以支持更多的文件系统类型和操作。
二、块设备节点
在Linux系统中,磁盘块设备是通过块设备节点来进行访问的,这些节点的位置在/dev目录下。例如,/dev/sda表示的是之一块SATA硬盘设备,/dev/sdb表示的是第二块SATA硬盘设备,/dev/sr0表示的是之一块光驱设备。通过这些节点,可以进行对应硬件设备的读取和写入。
三、文件系统的挂载
对于Linux系统中的块设备,需要通过挂载来使用其上的文件系统。在挂载之前,需要先创建挂载点(mount point),然后再进行挂载操作。可以通过mount命令来进行挂载操作,例如:
mount /dev/sda1 /mnt
其中,/dev/sda1表示的是要挂载的设备节点,/mnt则表示的是挂载点的位置。需要注意的是,挂载点的位置应该是一个空目录,否则会覆盖其中的内容。
四、RD的配置
在Linux系统中,RD(磁盘阵列)技术也被广泛应用。通过RD技术,可以将多个磁盘设备组合成一个虚拟磁盘设备,提高系统的数据存储能力和可靠性。在Linux系统中,可以通过mdadm命令来进行RD的配置和管理。例如,可以通过以下命令来创建一个RD 1磁盘阵列:
mdadm -C /dev/md0 -a yes -l 1 -n 2 /dev/sda1 /dev/sdb1
其中,/dev/md0表示的是新创建的RD设备名称,-l 1表示的是使用RD 1模式,-n 2表示的是有两块硬盘参与RD,/dev/sda1和/dev/sdb1则分别表示的是参与RD的硬盘设备。需要注意的是,RD的配置需要谨慎,并且应该根据实际情况选择适合的RD模式和参数。
五、磁盘的分割和格式化
在使用Linux系统中的块设备之前,通常需要将其进行分割和格式化。对于分割操作,可以使用fdisk或parted等命令来完成。例如,可以使用fdisk命令来创建一个新的分区:
fdisk /dev/sda
在fdisk命令行界面下,可以使用n命令创建新分区,使用w命令保存更改并退出。对于格式化操作,则可以使用mkfs命令来完成。例如,可以使用mkfs.ext4命令来格式化新创建的分区为ext4文件系统:
mkfs.ext4 /dev/sda1
由于格式化会清除原有分区内的数据,因此需要谨慎操作,并确保备份数据。
六、磁盘的挂载自动化
在Linux系统中,可以使用/etc/fstab文件来配置系统启动时磁盘的挂载点和参数等信息。这样,只需要在启动时自动挂载磁盘,就可以避免手动操作的麻烦。例如,可以在/etc/fstab文件中添加以下行来将/dev/sda1设备挂载到/mnt目录下:
/dev/sda1 /mnt ext4 defaults 0 2
其中,/dev/sda1表示的是要挂载的设备节点,/mnt则表示的是挂载点的位置,ext4表示的是文件系统的类型,defaults则表示使用默认的挂载参数,0和2表示的是dump和fsck指定的顺序,一般不需要修改。
七、磁盘检测和修复
在Linux系统中,磁盘出现故障时,可以使用fsck命令来进行检测和修复。该命令通常需要在单用户模式下执行,以保证文件系统的完整性。例如,可以使用以下命令来检测并修复/dev/sda1设备上的文件系统:
umount /dev/sda1
fsck.ext4 -y /dev/sda1
其中,umount命令用于卸载已挂载的文件系统,fsck.ext4命令则用于检测并修复文件系统。需要注意的是,-y选项会自动回答所有的问题,因此如果未知问题发生,可能会对数据造成不可逆的损害。
八、
本文主要介绍了在Linux系统中磁盘块设备的管理方法,包括块设备节点、文件系统的挂载、RD的配置、磁盘的分割和格式化、磁盘的挂载自动化以及磁盘检测和修复等方面。对于初学者而言,这些操作是必备的基础技能。在学习过程中,需要更加谨慎,避免误操作带来的不良后果。同时,还可以通过官方文档、论坛社区等途径了解更多的内容。
相关问题拓展阅读:
磁盘挂载与卸载
磁盘分区完之后需要格式化,格式化之后需要挂载磁盘。
格式化后的磁盘恰是是一个块设备文件,类型为b。
在挂载某个分区前需要先建立一个挂载点,这个挂载点是以目录的形式出现的。一旦把某个分区挂载到了这个挂载点(目录)下,那么再往这个目录写数据时,则会写到该分区中。需要注意正尺带!
在挂载该分区前,挂载点(目录)下必须是个空目录。其实目录不为空并不影响所挂载分区的使用。但是一旦挂载上了,那么该目录下以前的东西就看不到了。只有卸载掉该分区后才能看到。
命令:mount
单一文件系统不应该被重复挂载在不同的挂载点中
单一目录不应该重复挂载多个文件系统
作为挂载点的目录理论上应该都是空目录
语法:mount
vfstype>
options> device
dir
1.-t
vfstype 指定文件系统的类型,通常不必指定。
2.-o
options 主要用来描述设备或档案的挂接方式。
3.device
要挂接(mount)的设备。
4.dir设备在系统上的挂接点(mount
point)。
选项:
-a:依照配置文件/etc/fstab
的数据将所有未挂载的磁盘都挂载上来
-l:单纯输入mount会显示目前挂在信息,加上-l
可增列LABEL名称
-t:可加上文件系统种类来指定欲挂载的类型
-n:在默认情况下,系统会将实际挂载的情况实时写人/etc/mtab中,以利其他系统运行,但在某些情况下欲避免问题,会刻意不写入,此时就要加-n选项。
-L:系统除了可以利用设备文件名之外,还可以利用文件系统的卷标名称来进行挂载
-o:后面可以接一些挂载时额困漏外加上的参数:
常用的选项有:-a、-t、-o.
如果不加任何选项,直接运行mount命令,会显示如下信息:
# mount
/dev/sda3 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts
(rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type
binfmt_misc (rw)
mount命令举芦可以查看当前系统已经挂载的所有分区,以及分区文件系统的类型,挂载点和一些选项等信息。所以如果想知道某个分区的文件系统类型直接用该命令查看即可。
例:
建一个空目录,然后在目录里建一个空白文档。
# mkdir /newdir
# touch
/newdir/newfile.txt
# ls
/newdir/newfile.txt
/newdir/newfile.txt
然后把格式化的 /dev/sdb5挂载到
/newdir上。
mount: wrong fs type, bad option, bad
superblock on /dev/sdb5,
missing codepage or helper program, or
other error
In some cases useful info is found in
syslog – try
dmesg | tail or so
不能完成挂载,根据以上挂载错误的提示:
# dmesg |tail
Addingk swap on /dev/sda2.
Priority:-1 extents:1 across:k
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
ip6_tables: (C)Netfilter Core
Team
nf_conntrack version 0.5.0 (16100
buckets,max)
ip_tables: (C)Netfilter Core
Team
eth0: link up
eth0: no IPv6 routers present
EXT4-fs (sdb5): bad block size
8192
EXT4-fs (sdb5): bad block size
8192
可以看到,我的/dev/sdb5指定的块值8192不合法,所以只能重新格式化磁盘。
# mke2fs -t ext4 -L TEST
/dev/sdb5
使用默认块值即可。继续挂载sdb5。
# mount /dev/sdb5
/newdir/
# ls /newdir/
lost+found
# df -h
文件系统 容量 已用 可用 已用% 挂载点
Filesystem Size Used
Avail Use% Mounted on
/dev/sda3 7.8G 2.0G 5.5G 27% /
tmpfs 504M 0 504M 0% /dev/shm
/dev/sda1 97M 26M 67M 29% boot
/dev/sdb5 989M 18M 921M 2% /newdir
把/dev/sdb5挂载到/newdir后,原来在/neddir下的newfile.txt被覆盖了,通过df
-h可以看到刚才挂载的分区,我们也可以使用LABEL的方式挂载分区:
# umount /newdir/
# df -h
Filesystem Size Used Avail Use% Mounted
on
/dev/sda3 7.8G 2.0G 5.5G 27% /
tmpfs 504M 0 504M 0% /dev/shm
/dev/sda1 97M 26M 67M 29% /boot
# mount LABEL=TEST
/newdir
# df -h
Filesystem Size Used Avail Use% Mounted
on
/dev/sda3 7.8G 2.0G 5.5G 27% /
tmpfs 504M 0 504M 0% /dev/shm
/dev/sda1 97M 26M 67M 29% /boot
/dev/sdb5 989M 18M 921M 2% /newdir
日常运维工作中会遇到这样的情况,一台服务器上新装了两块磁盘,磁盘a(在服务器上显示为sdc)和磁盘b(在服务器上显示为sdd)。又一次把这两块磁盘都拔掉了,然后再重新插上,重启机器,结果磁盘编号调换了。a变成了sdd,b变化才能了sdc(这是应为把磁盘差错了卡槽)。
通过上面的学习,挂载磁盘是通过/dev/hdb1这样的分区名字来挂载的,如果先前加入到了/etc/fstab中,结果系统启动后则会挂载错分区。
如何避免这种情况发生?这就要用到UUID,可以通过blkid命令获取各分区的UUID:
blkid命令
获取文件系统类型、UUID
在Linux下可以使用blkid命令对查询设备上所采用文件系统类型进行查询。blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型、LABEL、UUID等信息进行查询。
# blkid
/dev/sda1:
UUID=”37d8fe31-1cdaaa-1eed” TYPE=”ext4″
/dev/sda2:
UUID=”1ac357d6-af-ba6c-1eabad6aa0f2″ TYPE=”swap”
/dev/sda3:
UUID=”51a8587eea8-85ef-bad6a” TYPE=”ext4″
/dev/sdb5: LABEL=”TEST”
UUID=”b45feba7fb25311e” TYPE=”ext4″
这样可以获得全部磁盘分区的UUID,如果格式化的时候指定了LABLE则该命令也会显示LABEL值,甚至连文件系统类型也会显示。当然这个命令后面也可以指定哪个分区:
# blkid /dev/sdb5
/dev/sdb5: LABEL=”TEST”
UUID=”b45feba7fb25311e” TYPE=”ext4″
获得UUID之后的使用方法:
# umount /newdir
# mount
UUID=”b45feba7fb25311e” /newdir
# df -h
Filesystem Size Used Avail Use% Mounted
on
/dev/sda3 7.8G 2.0G 5.5G 27% /
tmpfs 504M 0 504M 0% /dev/shm
/dev/sda1 97M 26M 67M 29% /boot
/dev/sdb5 989M 18M 921M 2% /newdir
也可以把下面这行写到/etc/fstab中
UUID=b45feba7fb25311e /newdir ext4 defa ults
如果想让某个分区开机后就自动挂载,有两个办法可以实现:在/etc/fstab中添加一行。如上例中那行;把挂载命令写到/etc/re.d/rc.local文件中去,我会经常把想要开机启动的命令加到这个文件中。系统启动后会执行这个文件中的命令,所以只要想开机后运行什么命令统统写入到这个文件下面,直接放到最后面即可,把挂载的命令放在文件最后一行:
# cat
/etc/rc.d/rc.local
#!/bin/sh
#
# This script will be executed *after*
all the other init scripts.
# You can put your own initialization
stuff in here if you don’t
# want to do the full Sys V style init
stuff.
touch /var/lock/subsys/local
# vi
/etc/rc.d/rc.local
#!/bin/sh
#
# This script will be executed *after*
all the other init scripts.
# You can put your own initialization
stuff in here if you don’t
# want to do the full Sys V style init
stuff.
touch /var/lock/subsys/local
mount
UUID=”b45feba7fb25311e” /newdir
~
按esc退出,输入:wq,保存退出即可
以上两种方法任选其一。
建议挂载磁盘分区的时候尽量使用UUID或者LABEL这两种方法。
命令:umount
选项:-l,(非常有用,遇到不能卸载的情况用-l)
在上面的例子中,多次用到这个命令。
umount后面可以跟挂载点,也可以跟分区名(/dev/hdb1).
但是不可以跟LABEL和UUID。
# umount /dev/sdb5
# mount
UUID=”b45feba7fb25311e” /newdir
# umount /newdir
# mount
UUID=”b45feba7fb25311e” /newdir
# df -h
Filesystem Size Used Avail Use% Mounted
on
/dev/sda3 7.8G 2.0G 5.5G 27% /
tmpfs 504M 0 504M 0% /dev/shm
/dev/sda1 97M 26M 67M 29% /boot
linux 卸载磁盘后挂载目录还存在
方舟生存进化游戏下载
精选推荐
广告
linux mount 硬盘挂载和卸载
68阅读·0评论·0点赞
2023年11月3日
Linux下mount挂载后,原目录下的内容消失
2.6W阅读·0评论·2点赞
2023年5月5日
Linux实操篇-Linux 磁盘分区、挂载
233阅读·0评论·0点赞
2023年9月3日
新硬盘挂载目录后文件消失解决办法
3.1W阅读·6评论·9点赞
2023年7月29日
linux怎么卸载home文件系统,Linux磁盘和文件系统管理(3)_磁盘挂载 卸载
499阅读·0评论·0点赞
2023年5月14日
ubuntu挂载与卸载
2183阅读·0评论·0点赞
2023年3月20日
三国新模式,由你带兵攻城作战!
精选推荐
广告
【转载】Linux新硬盘挂载某目录后原目录的文件消失
702阅读·1评论·3点赞
2023年6月28日
linux各种挂载点作用,Linux 挂载点目录及其作用
1636阅读·0评论·0点赞
2023年5月16日
【Linux实验】系统分区挂载与卸载配置实验
455阅读·0评论·2点赞
2023年5月15日
解决mount挂载问题:wrong fs type, bad option, bad superblock on
2.8W阅读·0评论·4点赞
2023年6月19日
Linux如何创建挂载点
1.0W阅读·0评论·1点赞
2023年4月8日
Linux 挂载分区到文件夹后,文件夹原来数据哪去了
736阅读·0评论·0点赞
2023年2月3日
ubuntu挂载与卸载硬盘
1567阅读·0评论·1点赞
2023年4月1日
linux挂载前后数据会改变么,linux挂载点变化
321阅读·0评论·0点赞
2023年5月15日
Linux基础知识-挂载一个磁盘再卸载掉
96阅读·0评论·0点赞
2023年2月29日
linux取消目录挂载,Linux取消挂载,删除用户及其目录
261阅读·0评论·0点赞
2023年5月12日
解决办法之Linux新硬盘挂载某目录后原目录的文件消失
8089阅读·0评论·9点赞
2023年3月13日
Linux文件系统的的挂载与卸载(mount、umount)
2771阅读·0评论·1点赞
2023年2月10日
Linux 实用指令(7)–Linux 磁盘分区、挂载
90阅读·0评论·0点赞
2023年9月26日
Linux使用mount把目录挂载到新磁盘后 原目录的内容消失 解决办法
1173阅读·2评论·0点赞
2023年2月26日
去首页
看看更多热门内容
不在了!1 查看已挂载磁盘信息
df -h
蠢告
2.查看磁盘信息
fdisk -l

4.挂载磁盘(把 /dev/sda3 挂载到 /data目录)
mount /dev/sda3 /data/

以上亲测有效!
5.实现自动挂载(注意:自动挂载,实测开不了机,还未找到解决方案)
vi /etc/fstab
添加如下内容:
/dev/sda3 /data/ ext4 default 0 0

关于linux 磁盘 块设备的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
成都网站设计制作选创新互联,专业网站建设公司。
成都创新互联10余年专注成都高端网站建设定制开发服务,为客户提供专业的成都网站制作,成都网页设计,成都网站设计服务;成都创新互联服务内容包含成都网站建设,小程序开发,营销网站建设,网站改版,服务器托管租用等互联网服务。
新闻名称:了解Linux中磁盘块设备的管理方法 (linux 磁盘 块设备)
当前网址:http://www.shufengxianlan.com/qtweb/news37/132437.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联