欢迎来到之路教程(on itroad-com)
运行脚本
运行脚本非常简单。
只需运行脚本而不传递任何参数,所有磁盘都会立即被标记。
# chmod +x /tmp/disk_label.sh # ./disk_label.sh Labeled c8t2d0 ...... Labeled c8t3d0 ...... Labeled c8t4d0 ......
很多时候,当存储团队从 EMC 存储盒分配存储时,磁盘没有标记。
因此,我们会在 /var/adm/messages 文件中看到如下错误:
Jan 31 16:50:48 onitroad Corrupt label; wrong magic number Jan 31 16:50:48 onitroad scsi: [ID 583861 kern.info] ssd12 at fp5: unit-address w20220080e517e28c,1: e8 Jan 31 16:50:48 onitroad genunix: [ID 936769 kern.info] ssd12 is /pci@12,600000/SUNW,qlc@0/fp@0,0/ssd@w20220080e517e28c,1 Jan 31 16:50:49 onitroad scsi: [ID 583861 kern.info] ssd8 at fp5: unit-address w20220080e517e28c,0: e8 Jan 31 16:50:49 onitroad genunix: [ID 936769 kern.info] ssd8 is /pci@12,600000/SUNW,qlc@0/fp@0,0/ssd@w20220080e517e28c,0 Jan 31 16:50:49 onitroad scsi: [ID 583861 kern.info] ssd2 at fp6: unit-address w20230080e517e28c,1f: e0 Jan 31 16:50:49 onitroad genunix: [ID 936769 kern.info] ssd2 is /pci@13,700000/SUNW,qlc@0/fp@0,0/ssd@w20230080e517e28c,1f Jan 31 16:50:50 onitroad scsi: [ID 107833 kern.warning] WARNING: /pci@13,700000/SUNW,qlc@0/fp@0,0/ssd@w20230080e517e28c,1f (ssd2):
现在最简单的解决方案是在 format 命令中标记磁盘:
# format --> Select disk -> select partition table (p) --> label the disk (l)
容易吧!但是想象一下我们有数百个磁盘要标记的情况。
在这种情况下,我们有一个非常简洁的脚本,可以一次性标记所有磁盘。
该脚本包括:
包含格式子命令的文件:label 和quit
包含我们要标记的所有磁盘的文件。
脚本本身
format 子命令应该写在一个单独的文件中:
# cat /tmp/format.cmd label quit
- 创建一个文件,列出我们要格式化的所有磁盘。
# cat /tmp/disk_list c8t2d0 c8t3d0 c8t4d0
- 现在终于是主脚本本身: /tmp/disk_label.sh 。
该脚本循环遍历 /tmp/disk_list 中的所有磁盘并一一标记它们。
# cat disk_label.sh for disk in `cat /tmp/disk_list` do format -s -f /tmp/format.cmd $disk echo "labeled $disk ....." done
日期:2020-09-17 00:15:15 来源:oir作者:oir