linux(二十九)查看磁盘挂载情况以及挂载和卸载磁盘

2023年 10月 11日 40.6k 0

一:查看硬盘挂载情况命令lsblk

lsblk命令 用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系。

测试一下:

root@iZijvdp1z0m5q4Z:/usr # lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    252:0    0  60G  0 disk
└─vda1 252:1    0  60G  0 part /
vdb    252:16   0  80G  0 disk
└─vdb1 252:17   0  80G  0 part /usr/share/nginx/html
vdc    252:32   0  20G  0 disk

 

先简单的介绍下上边输出的title都是什么意思:

NAME :这是块设备名。

MAJ:MIN :本栏显示主要和次要设备号。

RM :本栏显示设备是否可移动设备。注意,在本例中设备sdb和sr0的RM值等于1,这说明他们是可移动设备。

SIZE :本栏列出设备的容量大小信息。例如298.1G表明该设备大小为298.1GB,而1K表明该设备大小为1KB。

RO :该项表明设备是否为只读。在本案例中,所有设备的RO值为0,表明他们不是只读的。

TYPE :本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。

MOUNTPOINT :本栏指出设备挂载的挂载点。

 

很简单就能看到上方输出的结果中,type那一列有三行是disk就是硬盘,mountpoint那一列是挂载点,type为part,就是将硬盘挂载在哪里。

 

几个常用的参数:

1:lsblk -a

Lsblk命令默认是不会列出所有硬盘的,想要看所有的硬盘,需要使用 -a 参数

 

2:lsblk -m

以树形结构列出 各个硬盘之间的关系。

 

二:挂载硬盘命令mount

这个命令基础使用很简单。

Mount 硬盘名称 挂载位置

不知道硬盘名称?使用df -h命令可以列出当前服务器的所有硬盘。

具体操作流程如下:

1:查看服务器硬盘

root@iZijvdp1z0m5q4Z:/usr # df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            2.0G     0  2.0G   0% /dev
tmpfs           395M  3.0M  392M   1% /run
/dev/vda1        59G   44G   14G  77% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/vdb1        79G   38G   38G  50% /usr/share/nginx/html
tmpfs           395M     0  395M   0% /run/user/0

 

2:修改/dev/vdb1挂载点至/usr/share/nginx

root@iZijvdp1z0m5q4Z:/usr # mount /dev/vdb1 /usr/share/nginx

 

3:重新查看硬盘挂载情况,我们可以看到硬盘挂载点变成了/usr/share/nginx

root@iZijvdp1z0m5q4Z:/usr # lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    252:0    0  60G  0 disk
└─vda1 252:1    0  60G  0 part /
vdb    252:16   0  80G  0 disk
└─vdb1 252:17   0  80G  0 part /usr/share/nginx
vdc    252:32   0  20G  0 disk

 

关于这个命令还有一堆的参数,我这里就不一一做解释了,用到的时候再百度

 

以上的情况是我在本地学习的时候做的测试,然而,在使用腾讯云服务器的时候,发生了一些小问题

在服务器上新购买了一款硬盘,并且在控制台上挂载成功了。

执行df -h 如下图所示:

[root@VM-4-16-centos /]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        909M     0  909M   0% /dev
tmpfs           919M     0  919M   0% /dev/shm
tmpfs           919M  540K  919M   1% /run
tmpfs           919M     0  919M   0% /sys/fs/cgroup
/dev/vda1        50G   44G  3.0G  94% /
tmpfs           184M     0  184M   0% /run/user/0

执行lsblk可以清楚的看到我有一块40G的硬盘没有挂载:

[root@VM-4-16-centos /]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0     11:0    1 60.9M  0 rom  
vda    253:0    0   50G  0 disk 
└─vda1 253:1    0   50G  0 part /
vdb    253:16   0   40G  0 disk

但我在使用上边挂载命令的时候出现了以下的问题:

[root@VM-4-16-centos /]# mount /dev/vdb /usr/share/nginx/html
mount: /dev/vdb is write-protected, mounting read-only
mount: unknown filesystem type '(null)'

出现这种问题是因为新购买的硬盘没有文件系统,一般情况下,我们使用的文件系统都是ext4,当然,具体情况自己具体分析。

使用命令创建ext4文件系统:

mkfs.ext4 /dev/vdb
[root@VM-4-16-centos /]# mkfs.ext4 /dev/vdb
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
2621440 inodes, 10485760 blocks
524288 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2157969408
320 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

再次使用df -h 命令即可看到我们硬盘已经挂载成功:

[root@VM-4-16-centos /]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        909M     0  909M   0% /dev
tmpfs           919M     0  919M   0% /dev/shm
tmpfs           919M  540K  919M   1% /run
tmpfs           919M     0  919M   0% /sys/fs/cgroup
/dev/vda1        50G   44G  3.1G  94% /
tmpfs           184M     0  184M   0% /run/user/0
/dev/vdb         40G   49M   38G   1% /usr/share/nginx/html

三:卸载硬盘命令umount

umount可卸除目前挂在Linux目录中的文件系统。直白点就是卸载硬盘的。

命令也很简单

Umount 硬盘名称/挂载点目录

 

这个命令我没有实际做测试,没有那个条件。

实例:

umount /dev/vdb1
umount /usr/share/nginx

 

问题:

卸载硬盘的时候可能会遇到umount: /usr/share/nginx/html: target is busy.(硬盘正在使用的问题),解决方式如下:

使用fuser命令处理

在使用 fuser命令之前需要安装组件支持。

yum install psmisc -y   # centos
apt install psmisc         # ubuntu

 

然后一样需要类似lsof一样查看是否有在运行的进程。

fuser -mv /www/

如果有的话,然后针对进程去停止。

fuser -kv /www/

一个命令删除全部进程。再重新卸载即可。 

 

有好的建议,请在下方输入你的评论。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论