一:查看硬盘挂载情况命令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/
一个命令删除全部进程。再重新卸载即可。
有好的建议,请在下方输入你的评论。