W którą stronę ewoluuje konfigurowanie Linuksa...
Ostatnio przemigrowałem z tgt na nowy, lepszy, wbudowany w jądro LIO. Chodzi o cel SCSI. Po robocie odsunąłem się od monitorów, spojrzałem na stary config, spojrzałem na nowy i naszła mnie refleksja.
Czy przejście z takiego sposobu konfigurowania:
na taki (uwaga, ściana tekstu):vendor_id UTC FS Support product_id Linux iSCSI # Set the driver. If not specified, defaults to "iscsi". default-driver iscsi <target iqn.2010-08.com.fs.utc:dvdtmp> backing-store /dev/mapper/sabretoothvg-iscsi.dvdtmp </target> <target iqn.2010-08.com.utc.fs:winxppp45client-stor1> backing-store /dev/sabretoothvg/iscsi.winxppp45client-stor1 </target> <target iqn.2011-02.com.utc.fs:esxi.local-space0> backing-store /dev/sabretoothvg/iscsi.esxi.local-space0 </target> <target iqn.2011-02.com.utc.fs:fcoe.test0> backing-store /dev/mapper/sabretoothvg-fcoe.test0 allow-in-use yes </target>
to naprawdę jakiś postęp? Powyżej to drobny fragment, całość ,,nowości'' ma prawie pół tysiąca linii i postać skryptu, który odtwarza ustawienia przez wykonanie wszystkich katalogów i dowiązań symbolicznych.#### Parameters for TCM subsystem plugin storage object reference python /usr/lib/python2.6/site-packages/rtsadmin/tcm_node.py --establishdev iblock_0/iblock0 /dev/sabretoothvg/fcoe.test0 python /usr/lib/python2.6/site-packages/rtsadmin/tcm_node.py --setunitserialwithmd iblock_0/iblock0 72ad13f0-c8d2-4d96-bffe-30f9cfc46f2f #### Parameters for TCM subsystem plugin storage object reference python /usr/lib/python2.6/site-packages/rtsadmin/tcm_node.py --establishdev iblock_1/gilbertus.swap /dev/sabretoothvg/iscsi.gilbertus.swap python /usr/lib/python2.6/site-packages/rtsadmin/tcm_node.py --setunitserialwithmd iblock_1/gilbertus.swap 7e05140f-6536-4813-a1a0-d9fdc3b7bca8 #### Parameters for TCM subsystem plugin storage object reference python /usr/lib/python2.6/site-packages/rtsadmin/tcm_node.py --establishdev iblock_3/esxi.local-space0 /dev/sabretoothvg/iscsi.esxi.local-space0 python /usr/lib/python2.6/site-packages/rtsadmin/tcm_node.py --setunitserialwithmd iblock_3/esxi.local-space0 5bcaffac-6da0-42b0-ad07-fe130609674 #### iSCSI Target Ports mkdir -p /sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd/tpgt_1/lun/lun_0 ln -s /sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd/tpgt_1/lun/lun_0/../../../../../../target/core/iblock_0/iblock0 /sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd/tpgt_1/lun/lun_0/6efd3cb027 lio_node --aluasecmd iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd 1 0 mkdir -p /sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd/tpgt_1/lun/lun_1 ln -s /sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd/tpgt_1/lun/lun_1/../../../../../../target/core/iblock_4/winxppp45client-stor1 /sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd/tpgt_1/lun/lun_1/1d6312ea35 lio_node --aluasecmd iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd 1 1 #### iSCSI Initiator ACLs for iSCSI Target Portal Group mkdir -p /sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd/tpgt_1/acls/iqn.1994-05.com.fedora:5f21153a55f echo 16 > /sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd/tpgt_1/acls/iqn.1994-05.com.fedora:5f21153a55f/cmdsn_depth mkdir /sys/kernel/config/target/fc #### fc Target Ports mkdir -p /sys/kernel/config/target/fc/20:00:00:23:ae:b2:f4:3b/tpgt_1/lun/lun_0 ln -s /sys/kernel/config/target/fc/20:00:00:23:ae:b2:f4:3b/tpgt_1/lun/lun_0/../../../../../../target/core/iblock_0/iblock0 /sys/kernel/config/target/fc/20:00:00:23:ae:b2:f4:3b/tpgt_1/lun/lun_0/b522dc7322
Do LIO dostępny jest targetcli
, będący tak naprawdę kolorową nakładką na
mkdir
, ln
i touch
. Ja rozumiem, że wszystko
jest plikiem, ale naprawdę zajęło mi pół godziny wpadnięcie na intuicyjny
sposób określenia IP, na który jądro ma słuchać. (Tym sposobem jest utworzenie
katalogu, dokładniej
mkdir -p /sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd/tpgt_1/np/192.168.6.9:3260
).
Plik konfiguracyjny jest dla mnie czymś solidnym. Skrypt zastępujący go setkami poleceniem powłoki sprawia wrażenie sznurka i taśmy klejącej.
UPDATE: Ktoś jednak stwierdził, że lepsze będzie trzymanie konfiguracji w JSON. No cóż, ma szansę sprawdzić się lepiej niż skrypt shellowy.
Archived comments:
DIVI 2012-01-17 06:04:11
Panie, a ile wojny było o ten target.
Deweloper konkurencyjnej implementacji gdy go nie wybrano strzelił potwornego focha i jest teraz wojna idelologiczna.
Argumentacja opiekuna podsystemu storage też była mało merytoryczna i bardziej się operała o to że ten "wygrany" jest gorszy ale ma bardziej uległych i skorych do ustępstw developerów.
To wszystko jest jeszcze pikuś, ale ten config to już jest parodia.
Nie podobie mnie się.
DIVI 2012-01-17 06:07:13
To tak apropos: http://lwn.net/Articles/424004/
l00natyk 2012-01-17 14:48:04
Mam wrazenie ze w niedalekiej przyszlosci ktos napisze skrypt ktory pobiera dane ze starego konfigu i bedzie tak samo tylko ze inaczej.
yZZuF 2012-01-20 09:48:57
Wygląda jakby się ktoś puścił poręczy.
Comments
Comments powered by Disqus