目录
- 规范分类
- 一、各类查询指令
- 1.未分区时常用
- 2.分区后常用
- 3.分区且挂在后可见
- 4.查看主机HBA端口WWN号
- 5.查看目录、文件大小
- 二、扫描硬盘
- 三、多路径Multipath
- 四、分区
- 五、初始化
- 六、挂载
- 1.准备空目录
- 2.挂载
- (1)临时挂载
- (2)永久挂载
- 七、卸载
- 1.服务器端卸载
- 2.清理服务器中磁盘的残留记录
- 八、扩展
学习自《linux中的如何进行磁盘分区》
规范分类
由于查询中会涉及到多个“类型”,所以在这里明确一下文中的各种分类。
设备类型
- disk 磁盘
- part 分区
分区架构
- MBR
- GPT
分区类型
- primary partition 主分区
- extension partition 扩展分区(逻辑分区的容器)
- logical partition 逻辑分区
文件系统类型
- Linux:ext3、ext4、XFS、…(可以用
man 5 fs来查看所有类型)- Windows:FAT16、FAT32、NTFS…
一、各类查询指令
1.未分区时常用
lsblk
- 设备磁盘结构、大小、挂载目录
multipath -ll
- 查看多路径硬盘情况及WWN号
parted -l与fdisk -l
- 都可以磁盘及分区情况,
parted -l更好用,多出来磁盘接口类型。
cat /proc/partitions
- 系统中可被识别的设备>
2.分区后常用
blkid
- 挂载文件(分区)UUID、路径、文件系统类型
3.分区且挂在后可见
df -Th
- 挂载的文件(分区)容量使用情况及挂载目录
4.查看主机HBA端口WWN号
//(1)查看主机总线号[root@node/]# ls/sys/class/scsi_host/host0 host1......//查看主机fc总线号[root@node/]# ls/sys/class/fc_host/host7 host9//(2)查看不同主机线下的HBA卡端口WWN号[root@node/]# cat/sys/class/fc_host/host0/port_name0x1000001b329240d7
5.查看目录、文件大小
du -ah *
- -a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量而已,而不列出每个各别的目录占用容量;
-S :不包括子目录下的总计,与 -s 有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示;
二、扫描硬盘
收集来四种扫描方法,推荐顺序如下:
1.
rescan-scsi-bus.sh
- 对于一些系统,可能有一个名为 rescan-scsi-bus.sh 的脚本,可以用来扫描SCSI总线。
2.
sudo multipathd reconfigure
- 如果你在使用多路径(multipath)存储,可以使用以下命令来重新扫描多路径设备。
3.通过查询主机总线号,然后一个个扫描SCSI总线来添加设备。
(1)查看所有scsi主机线号[root@node/]# ls/sys/class/scsi_host/host0 host1 host2 host3 host4......(2)查看FC占用的主机线号,缩小扫描范围[root@node/]# ls/sys/class/fc_host/host3 host4 (3)重新扫描SCSI总线来添加设备,可以只扫描FC占用的主机线[root@node/]# echo"- - -">/sys/class/scsi_host/host0/scan[root@node/]# echo"- - -">/sys/class/scsi_host/host1/scan......
4.系统重新扫描所有的设备(包括磁盘)
sudo udevadm trigger
- 用来触发 udev 规则,以便系统重新扫描所有的设备,包括磁盘。
sudo udevadm settle
- 这个命令通常与 udevadm trigger 一起使用,用于等待udev事件队列处理完毕。
三、多路径Multipath
参考文章→Multipath
四、分区
fdisk/dev/sdb##在设备sdb中建立分区##选项:n##建立分区p/e/l##选分区类型1##分区序号1024##开始扇区号(直接回车,默认接着扇区号继续分)+1G##分区大小(直接回车,默认剩余所有空间)p##查看分区情况wq##w表示保存q表示退出
partprobe
- 这个命令可以用来更新内核的分区表信息。
五、初始化
mkfs.vfat /dev/sdb1##将分区sdb1文件系统类型初始化为vfatmkfs.xfs /dev/sdb1##将分区sdb1文件系统类型初始化为xfsmkfs.ext4 /dev/sdb1##将分区sdb1文件系统类型初始化为ext4mkfs.xfs-K/dev/sdb1##-K是为了提升初始化速度,忽视磁盘中的空白区域快速初始化六、挂载
1.准备空目录
mkdir/data##在根目录下建立目录data2.挂载
(1)临时挂载
临时挂载即服务器重启后不会自动挂载
mount/dev/sdb1 /data##将分区sdb1临时挂载到目录data(2)永久挂载
vim/etc/fstab##在/etc/fstab中按以下格式编写设备名称 挂载目录 文件系统类型 挂载参数 是否备份 是否检测 wqmount-a##在编写完成后不会马上生效,需要mount -a重新读取/etc/fstab文件七、卸载
1.服务器端卸载
vim/etc/fstab##在/etc/fstab删除/注释掉相应的挂载信息设备名称 挂载目录 文件系统类型 挂载参数 是否备份 是否检测 wqumount设备名称##例如umount /dev/sdb12.清理服务器中磁盘的残留记录
例如sda这个名字,multipath -ll查询出来的内容等。
使用
rescan-scsi-bus.sh
这个脚本通常包含在 sg3_utils 软件包中,可以先确认一下是否已安装:
# 检查是否已安装,若无输出则需要安装rpm-qa|grepsg3_utils# 如果未安装,使用 yum 或 dnf 安装sudoyuminstallsg3_utils-y#安装后,执行以下命令即可一键清理所有已失效的FC映射残留设备:sudorescan-scsi-bus.sh--remove--flush#测试中发现使用简写参数:#rescan-scsi-bus.sh -r -f有时不生效#所以尽量使用`rescan-scsi-bus.sh --remove --flush`⚠️ :这个命令会扫描整个SCSI总线,并自动移除所有被系统判定为“已失效”的设备。请务必确认当前系统中没有其他需要保留的、临时的或即将重新映射的存储设备。
- –remove:移除已失效的设备。
- –flush:清理失败的多路径设备映射。
八、扩展
mkdir
新建的目录(未挂载前)默认存储分区是其上一级目录所挂载的分区。如果在未挂载前就进入来目录,挂在后必须退出重新进入该目录,不然使用的依旧是挂载前默认的上级目录所在的存储分区。
- 这会造成一个现象,如果你在一个目录中写入数据123,然后对该目录挂在存储,重新进入后由于该目录所在存储分区不一致,该目录里是没有之前写入的数据123的,但123并未丢失。把新挂载的分区卸载后就会重连回默认的上级分区,原数据123仍在。
- 所以挂载时要小心,挂载到原有目录,会导致该目录原数据找不到。
lsblk
- -s, --inverse:反向依赖关系(按逆序显示依赖)
- -S, --scsi:输出有关 SCSI 设备的信息
- –merge(或短选项 -M)是一个优化命令,主要用于将复杂存储配置(如 RAID 和多路径设备)的输出整理得更紧凑、更易读。
- -p, --paths:打印完整设备路径