Linux 中的磁盘管理

1.本地存储设备的识别

存储是每个计算机系统的基本需求,Red Hat Linux提供了一些强大的工具,它们能在大量的场景中管理多种类型的存储设备
fdisk ##是用于管理磁盘分区的实用程序
fdisk -l ##真实存在的设备和列出磁盘分区信息 cat
/proc/partitions ##系统识别的设备 blkid ##系统可使用的设备及id
df ##系统正在挂载的设备/正在使用的设备信息

举例:
(1)查看真实存在的设备以及列出磁盘分区信息

[root@foundation66 ~]# fdisk -l

在这里插入图片描述
(2)查看系统识别的设备

[root@foundation66 ~]# cat /proc/partitions

在这里插入图片描述
(3)查看系统可使用的设备及id

[root@foundation66 ~]# blkid

在这里插入图片描述
(4)查看系统中正在挂载的设备/正在使用的设备信息

[root@foundation66 ~]# df

在这里插入图片描述
(5)用于管理磁盘分区的实用程序

[root@foundation66 ~]# fdisk

在这里插入图片描述

2.设备的挂载和卸载

(1)设备名称 /dev/xda ##/dev/hd0 /dev/hd1 /dev/sda /dev/sdb /dev/sda1
/dev/sda2 /dev/sdb1 /dev/sr0 ##光驱 /dev/mapper/* ##虚拟设备 (2)设备的挂载 mount
设备 挂载点 mount /dev/sdb1 /mnt ##挂载sdb1到mnt umount /mnt 或
/dev/sdb1 ##卸载(挂载点或挂载设备都可) mount -o ro /dev/sdb1 ##只读挂载 mount ##查看挂载信息
mount -o remount,rw /dev/sdb1 或 /mnt ##重新读写挂载

举例:
(1)正在挂载设备
<1>查看系统正在挂载的设备(插上u盘)

[root@foundation66 ~]# df

在这里插入图片描述
总结:可以看到/dev/sdb1挂载至/run/media/kiosk/F0C8-12D1
<2>新建一个目录/haha,并将/dev/sdb1挂载至/haha

[root@foundation66 ~]# mkdir /haha
[root@foundation66 ~]# mount /dev/sdb1 /haha
[root@foundation66 ~]# df

在这里插入图片描述
<3>查看挂载信息

[root@foundation66 ~]# mount

在这里插入图片描述
在这里插入图片描述
<4>卸载设备并进行查看

[root@foundation66 ~]# umount /dev/sdb1
[root@foundation66 ~]# df

在这里插入图片描述
(2)将设备挂载至/haha并且设置其设备为只读挂载
<1>查看其设备下的挂载

[root@foundation66 ~]# df

在这里插入图片描述
<2>将设备挂载至/haha并且设置其设备为只读挂载并进行查看

[root@foundation66 ~]# mount -o ro /dev/sdb1 /haha
[root@foundation66 ~]# df

在这里插入图片描述
<3>查看挂载信息,会发现设备的属性变成了只读属性

[root@foundation66 ~]# mount

在这里插入图片描述
<4>进行验证,会发现的确无法创建新的文件而且报错为设备是只读的

[root@foundation66 ~]# cd /haha
[root@foundation66 haha]# touch file1

在这里插入图片描述
<5>将其设备的属性重新进行挂载,设备属性为读写挂载,并进行挂载信息的查看,可以看到设备更改为读写挂载

[root@foundation66 haha]# mount -o remount,rw /dev/sdb1
[root@foundation66 haha]# mount

在这里插入图片描述
<6>再次进行验证,发现当设备设置为读写后,可以在设备内成功创建文件

[root@foundation66 haha]# touch file
[root@foundation66 haha]# ls
[root@foundation66 haha]# df
[root@foundation66 haha]# ps

在这里插入图片描述
(3)解决设备正忙情况

出现的报错: [root@foundation66 haha]# umount /haha
解决方法1: fuser -kvm /haha , umount /haha
解决方法2: [root@foundation66 haha]# lsof /haha kill -9 6769, umount /haha

举例:
<1>尝试在设备还在工作的情况下进行卸载,会发现无论是卸载挂载点还是文件系统,都会出现报错

[root@foundation66 haha]# umount /haha

在这里插入图片描述
<2>解决方法1
-1-利用fuser命令进行用户的退出

[root@foundation66 haha]# fuser -kvm /haha

在这里插入图片描述
-2-尝试在普通用户下卸载设备

[kiosk@foundation66 Desktop]$ umount /haha

在这里插入图片描述
-3-切换到超级用户下对设备进行卸载并进行查看

[kiosk@foundation66 Desktop]$ su -
Password: 
[root@foundation66 ~]# umount /haha
[root@foundation66 ~]# df

在这里插入图片描述
补充(fuser的使用):

[root@foundation66 haha]# fuser /haha
[root@foundation66 haha]# fuser -v /haha
[root@foundation66 haha]# fuser -vm /haha   ##显示进程以及子进程
[root@foundation66 haha]# fuser -kvm /haha

在这里插入图片描述
<2>解决方法2
-1-利用lsof命令查看bash的进程号是多少并强制杀死

[root@foundation66 haha]# lsof /haha
[root@foundation66 haha]# kill -9 6769

在这里插入图片描述
-2-切换到超级用户下进行卸载并查看

[kiosk@foundation66 Desktop]$ su -
Password: 
[root@foundation66 ~]# umount /haha
[root@foundation66 ~]# df

在这里插入图片描述

3.磁盘分区

-1-磁盘0磁道1扇区的512个字节中记录的信息如下512=446+64+2
-2-446表示mbr(主引导记录),程序是引导作用,引导程序的长度是446个字节。64表示mpt(主分区标示),2表示55aa(硬件的有效性标示,硬件上面所安装的)
-3-64个字节能记录多少个分区,(2的n次方)主要看每个分区有多少个字节
-4-1个分区占用16个字节
-5-1块硬盘最多可以划分4个主分区
-6-容器可以叫做扩展分区,容器内的分区叫做逻辑分区,用容量记录这些信息
-7-一般的磁盘分区,可以分成3个主分区,一个扩展分区
简单分区步骤:
1.fdisk -l
2.fdisk /dev/vdb
a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition	##删除
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition	##新建
   o   create a new empty DOS partition table
   p   print the partition table	##显示分区信息
   q   quit without saving changes	##退出
   s   create a new empty Sun disklabel
   t   change a partition's system id	##修改分区id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit	##保存分区信息到硬盘
   x   extra functionality (experts only)

(1)具体分区步骤(切记,一定不要在真实主机中进行如下操作,否则可能会出现不同程度的报错):
<1>主要查看Disk的路径

[root@sshd_server ~]# fdisk -l

在这里插入图片描述
<2>查看管理分区的实用程序的帮助

[root@sshd_server ~]# fdisk /dev/vdb
Command (m for help): m
Command (m for help): q

在这里插入图片描述
<3>新建第一个主分区:

[root@sshd_server ~]# fdisk /dev/vdb
Command (m for help): n
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +100M

在这里插入图片描述
<4>新建第二个主分区:

Command (m for help): n
Select (default p): p
Last sector, +sectors or +size{K,M,G} (206848-20971519, default 20971519): +200M

在这里插入图片描述
<5>新建第三个主分区:

Command (m for help): n
Select (default p): p
Last sector, +sectors or +size{K,M,G} (616448-20971519, default 20971519): +100M

在这里插入图片描述
<6>新建第一个扩展分区:

Command (m for help): n
Select (default e): e 	##当三个主分区出现时要划分扩展分区

在这里插入图片描述
<7>查看分区的配置

Command (m for help): p

在这里插入图片描述
<7>在扩展分区内建立分区

Command (m for help): n
Last sector, +sectors or +size{K,M,G} (823296-20971519, default 20971519): +100M

在这里插入图片描述
<8>查看所有分区的情况

Command (m for help): p

在这里插入图片描述
<9>所有分区配置完成后,退出保存

Command (m for help): wq

在这里插入图片描述
<10>使用fdisk-l命令查看真实存在的设备和列出磁盘分区信息

[root@sshd_server ~]# fdisk -l

在这里插入图片描述
(2)删除扩展分区
<1>查看分区信息

[root@sshd_server ~]# fdisk /dev/vdb
Command (m for help): d		##删除分区
Partition number (1-5, default 5): 5	##删除第5个分区(即逻辑分区)
Command (m for help): p		##显示信息
Command (m for help): wq	##保存分区信息到硬盘并退出

在这里插入图片描述
<2>查看分区配置是否保存成功
-1-查看真实存在的设备及列出磁盘分区信息

[root@sshd_server ~]# fdisk -l

在这里插入图片描述
-2-查看系统识别的设备

[root@sshd_server ~]# cat /proc/partitions

在这里插入图片描述
(3)给设备安装文件系统

ext3 rhtl5及之前的版本	最多支持32TB的文件系统和2T文件,实际2tb文件系统,16G文件
ext4	rhel6	1EB	16TB	
xfs	rhel7	18EB	9eb	7G/s	4G/s
mkfs.xfs /dev/vdb5	##格式化设备/dev/vdb5
mount /dev/vdb5 /haha	##给设备安装文件系统
vim /etc/fstab
设备	挂载点	文件系统	挂载参数	是否备份	是否检测
/dev/vdb5	/haha	xfs	defaults	0	0
mount -a ##自动挂载

<1>查看可使用的设备并将/dev/vdb5格式化,只有格式化之后才可以使用

[root@sshd_server ~]# blkid
[root@sshd_server ~]# mkfs.xfs /dev/vdb5	##格式化/dev/vdb5,即将其设备的格式转化成xfs格式
[root@sshd_server ~]# blkid	##再次查看看可使用的设备

在这里插入图片描述
<2>将其文件系统安装至设备上

[root@sshd_server ~]# mount /dev/vdb5 /haha
[root@sshd_server ~]# df

在这里插入图片描述
<3>证明是临时挂载(关机重启后自动消失),发现查看挂载的设备时没有发现/dev/vdb5

[root@sshd_server ~]# umount /dev/vdb5	##将设备卸载
[root@sshd_server ~]# mount -a	##自动挂载
[root@sshd_server ~]# df

在这里插入图片描述
<4>进行永久挂载

[root@sshd_server ~]# vim /etc/fstab

在这里插入图片描述
写入的内容如下:

/dev/vdb5       /haha   xfs     defaults        0       0

在这里插入图片描述

<5>再次进行自动挂载并查看挂载的设备,发现存在

[root@sshd_server ~]# mount -a
[root@sshd_server ~]# df

在这里插入图片描述
(春风十里,不如,不如我们在一起)

猜你喜欢

转载自blog.csdn.net/qq_39376481/article/details/87094015