NetApp磁盘arrays可以用作JBOD吗?

我有一堆使用光纤通道连接的(旧) NetApp DS14MK2磁盘arrays 。

我不会把它们用在任何关键的东西上,而是把它们作为单独的JBOD for Linux(XFS)或者Solaris / OmniOS(ZFS)使用,而不是把它们扔掉。

我的解决scheme有点复杂。 我可以使用以下命令在一台Ubuntu 16.10机箱上使用HP Qlogic QLE2462 HBA在我的NetApp DS14MK4(14 x 450GB)上build立一个JBOD(根据您的硬盘types和大小不同,有些设置会有所不同,请相应调整):

  1. 在系统启动时启用Qlogic HBA BIOS(默认为禁用)

  2. 使用lsscsi或sginfo列出Ubuntu中的驱动器(可以使用apt-get来安装)并列出所有“/ dev / sd?” 标有“netapp”的驱动器:

lsscsi --list OR sginfo -l

  1. 您必须使用sg_format(最初设置为520)将块数调整为512,以便操作系统识别(-r是“resize”命令,我们需要在这里使用“-6”作为感测模式(默认为“ 10" )):

sudo sg_format -6 -r --count=-1 --verbose /dev/sd?

  1. 现在你需要真正格式化每个驱动器(我打开了14个terminal窗口,并且在一个旧的Pentium D盒子上一次性完成):

sudo sg_format -6 -F -s 512 --verbose /dev/sd?

  1. 使用BlockDev重新读取分区:

sudo blockdev --rereadpt /dev/sd?

  1. 你现在应该看到他们使用:

sudo cat /proc/partitions

  1. 使用GParted(我这次使用了GUI)来创build必要的分区,将它们稍后分组为LVD。 首先创build一个分区表:Device> Create Partition Table>select“GPT”。 然后,您将使用GParted将其格式化为“lvd2 pv”types。

  2. 现在使用VGcreate创build一个逻辑卷组(在这里使用分区名称,而不是设备名称,即sdb1 NOT sdb):

sudo vgcreate VG_NAMEOFYOURCHOICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1 /dev/sdj1 /dev/sdk1 /dev/sdl1 /dev/sdm1 /dev/sdn1 /dev/sdo1

  1. 现在您需要使用LVcreate创build一个逻辑卷,使用raid5和所有14个驱动器(使用您刚刚创build的卷组)(我select的条带化长度为64,如在Raid5上默认的那样):

sudo lvcreate -L 5.72T -i14 -I64 -n VG_NAMEYOUCHOSEIN#7 LV_NAMEOFYOURCHOICE

  1. 确保你可以看到刚刚创build的逻辑卷:

sudo lvdisplay /dev/VG_NAMEYOUCHOSEIN#7/LV_NAMEOFYOURCHOICE

  1. 我们现在需要创build一个文件夹来挂载这个逻辑卷并设置所有权和权限:

sudo mkdir FOLDERNAME

sudo chown yourusername:yourusername /FOLDERNAME

sudo chmod -R 777 /FOLDERNAME

  1. 让我们在我们的逻辑卷上创build一个文件系统(我使用的是ext4,您可以使用jfs或其他):

sudo mkfs -t ext4 /dev/VG_NAMEYOUCHOSEIN#7/LV_NAMEOFYOURCHOICE#9

  1. 让我们把这个文件系统挂载到我们的新文件夹中:

sudo mount -t ext4 /dev/VG_NAMEYOUCHOSEIN#7/LV_NAMEOFYOURCHOICE#9 /FOLDERNAME#10

  1. 你可以把它放在etc / FSTAB中,如果你愿意的话,#12中的-t可以在重启的时候为我做。 如果在重新启动后没有可用的驱动器,则可以重新运行mount命令。

欢迎自己成为NetApp定制光纤通道JBOD的拥有者!

如果Netapp具有某种自定义驱动器固件,可能会阻止这种情况。 在存储控制器的世界中,这是一件很常见的事情。 您可能能够使用来自驱动器OEM的库存固件覆盖此固件,但这可能仍不起作用,这取决于磁盘和HBA之间的FC组件是否也以某种方式locking。

这家伙已经做到了。

获取设备名称

 sginfo -l 

每个驱动器需要从520字节到512字节的格式。

 sg_format --format --size=512 --verbose=/dev/sgX