在学习与训练linux系统的磁盘概念、文件系统等,需要增加磁盘、扩展现有磁盘容量等,对于如何添加新的磁盘,我们在“Linux centos系统中添加磁盘”中对centos7/8版本中如何添加、查看、删除等,作了介绍,而对Ubuntu版本中如何进行同样操作,未作介绍。由于版本不同,有较大的操作变化。本文初步讨论,供参考。
一、添加
添加新的磁盘,因是在VMware中操作,主要是图形化操作,各版本没有什么变化。详细添加过程可参见前文。
开机前添加的硬盘,在开机后就可以查询到,各版本都一样。
而开机后添加新的磁盘,在Ubuntu版本中要多次扫描主机总线号。
二、查看
添加硬盘过程简单。添加后通过图形化界面也很容易在VMware管理工具中看到有几块硬盘、多大容量。在远程命令行(或主机终端命令行)中,就需要特殊处理。
我们主要利用命令lsblk来查看系统磁盘信息。
1.lsblk --help
查看帮助信息,我们可以在命令后添加选项,获取我们最需要的信息
查看不作内核扫描时磁盘信息
我们不添加选项,查看信息很多:
我们仅查看SCSI磁盘信息,在lsblk命令后添加-S选项
其中sdb是开机前添加的10G磁盘!我们在开机后添加了5G新磁盘,并没有显示出来。
2.主机总线号
主机总线,对于centos7来说,就是host0 host1和host2,通过三次扫描就可以显示出开机后的新增设备。
而Ubuntu系统主机总线号比较多,不是3次扫描就可以的,要多次扫描。
用命令查看主机总线
a.centos7
b.ubuntu 22.04
对于执行内核扫描命令,一般管理员权限不够。
用root权限,也不能确定扫描的次数,多次扫描也不一定成功。
3.内核扫描
对于手动执行命令,进行内核扫描是不现实的。
我们可以先查询系统总线,再进行扫描。
详细代码如下,仅供参考。
#! /usr/bin/bash
#查询主机总线号,并逐一扫描
sum_scsi=`ls /sys/class/scsi_host/ | wc -l`
for ((i=0;i<$sum_scsi;i++))
do
echo '- - -' >/sys/class/scsi_host/host$i/scan
done
执行脚本后,再次查询磁盘信息:
利用grep过虑出sd*信息,如下:
三、后记
对于添加磁盘后的分区、格式化、挂载和卸载,Ubuntu中的操作与centos7基本一致。(在分区时,centos7对大小写单字母命令不敏感,而Ubuntu22.04中单字母命令必须是小写)。
添加磁盘与添加网卡的操作,基本一致。但查看网卡信息很方便,启动网络管理工具就可以快速加载网卡或卸载网卡。
相对于添加网卡,添加磁盘需要更多的操作,这也对内核管理与工具管理有更深入的理解。