wtorek, 18 czerwca 2013

IBM Storwize v7k a sprawa polska

Tak naprawdę to nie sprawa polska, bo to trauma po przejściu przez edukację w latach 80, tylko: "a SVC". Konkretnie, to jak wystrugać lun (w języku storłazisz/svicisz: vdisk), który następnie będzie widziany jako mdisk przez SVC.

Sprawa jest dość prosta: Ponieważ wirtualizacja będzie załatwiana piętro wyżej, v'kę kroimy według zasady:

1 mdiskgrupa = 1 mdisk = 1 vdisk.  

Internal storage v7k można podzielić według schematu "Optimize for capacity". W moim wypadku wyszło 6 mdisków RAID5, po 8 dysków i 3 po 7. 3 zostały jako hot spare, po jednym na półkę. Razem 72 dyski.
Nie można tylko jechać po "zalecanych" wartościach, bo wtedy stworzy jedną pulę (mdiskgroup), a potrzebujemy żeby każdy mdisk był w oddzielnej puli. Czyli powinno wyglądać mniej więcej tak:

0:mdisk0:online:array:0:mdiskgrp0:1.9TB::::generic_hdd
1:mdisk1:online:array:1:mdiskgrp1:1.9TB::::generic_hdd
2:mdisk2:online:array:2:mdiskgrp2:1.9TB::::generic_hdd
3:mdisk3:online:array:3:mdiskgrp3:1.9TB::::generic_hdd
4:mdisk4:online:array:4:mdiskgrp4:1.9TB::::generic_hdd
5:mdisk5:online:array:5:mdiskgrp5:1.9TB::::generic_hdd
6:mdisk6:online:array:6:mdiskgrp6:1.6TB::::generic_hdd
7:mdisk7:online:array:7:mdiskgrp7:1.6TB::::generic_hdd
8:mdisk8:online:array:8:mdiskgrp8:1.6TB::::generic_hdd

Mdiskgrupy, lepiej żeby miały wyłączony warning, bo SVC wypełni vdiski po korek, a po co v7k ma z tego powodu płakać?

chmdiskgrp -warning 0 nazwagrupy

Następną rzeczą, jaką można zrobić to już vdiski. Najprostsze jak się da, byle wypełniały 1:1 mdiskgrupę i mdisk. I tu haczyk: jak to zrobić, bo z GUI wpisać wartości, która dokładnie wypełni mdisk(grupę),  praktycznie się nie da. Ale jest CLI. Ilość bajtów bierze się stąd:

lsmdiskgrp -delim : -bytes
[...]
0:mdiskgrp0:online:1:0:2094870298624:256:2094870298624:0:0:0:0:0:auto:inactive:no:0:0:0

Tę wartość wystarczy wpisać jako -size do mkvdisk. Poniżej przepis na 6 dysków (niech żyje porządek numeracji :-P ) :

for i in 0 1 2 3 4 5
> do
> mkvdisk -mdiskgrp mdiskgrp$i -size 2094870298624 -unit b -iogrp 0 -vtype striped -mdisk mdisk$i -cache readwrite -name vdisk$i
> done
Virtual Disk, id [0], successfully created
Virtual Disk, id [1], successfully created
Virtual Disk, id [2], successfully created
Virtual Disk, id [3], successfully created
Virtual Disk, id [4], successfully created
Virtual Disk, id [5], successfully created