欢迎来到之路教程(on itroad-com)

运行脚本

运行脚本非常简单。
只需运行脚本而不传递任何参数,所有磁盘都会立即被标记。

# chmod +x /tmp/disk_label.sh
# ./disk_label.sh
Labeled c8t2d0 ......
Labeled c8t3d0 ......
Labeled c8t4d0 ......
在 Solaris 中标记多个磁盘

很多时候,当存储团队从 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)

容易吧!但是想象一下我们有数百个磁盘要标记的情况。

在这种情况下,我们有一个非常简洁的脚本,可以一次性标记所有磁盘。

该脚本包括:

  1. 包含格式子命令的文件:label 和quit

  2. 包含我们要标记的所有磁盘的文件。

  3. 脚本本身

  4. format 子命令应该写在一个单独的文件中:

# cat /tmp/format.cmd
label
quit
  1. 创建一个文件,列出我们要格式化的所有磁盘。
# cat /tmp/disk_list
c8t2d0
c8t3d0
c8t4d0
  1. 现在终于是主脚本本身: /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