LINUX.ORG.RU
ФорумAdmin

[iSCSi]Помогите распарсить алгоритм работы

 


0

1

Имеется скрипт, делающий бекап на удаленный сервер, ниже лог его работы. С iSCSi дела ни когда не имел представление о принципе работы конечно имею, но этого похоже мало.

Все действия кроме тех, что связаны с подключением iSCSi в принципе распарсил сам.

Подвох в том, что скрипт каким то образом аутентифицируется при подключении.

Собственно цель подменить сервер на свой. Сам код выложен по ссылке, вторая ссылка инклуд в котором реализованы все функции дергаемые из основного скрипта.

Если нужны еще какие то данные выложу. Система стоит в виртуалке так, что можно и опыты поставить.

/var/webconfig/scripts/rbs-client.php -v
[02/Dec/2010:19:14:18 +0300] Initializing RBS Client: Backup Mode
Останавливается slapd: [  OK  ]
Запускается slapd: [  OK  ]
[02/Dec/2010:19:14:32 +0300] DEBUG: ControlSocketWrite: 100:2.1:54e15008e385cfa74ab75de832b97e12
[02/Dec/2010:19:14:33 +0300] DEBUG: ControlSocketWrite: 130:1
[02/Dec/2010:19:14:33 +0300] DEBUG: ControlSocketRead: 510:Ok!
[02/Dec/2010:19:14:33 +0300] DEBUG: ControlSocketWrite: 120:Provision
[02/Dec/2010:19:14:34 +0300] DEBUG: ControlSocketRead: 540:0.00
[02/Dec/2010:19:14:34 +0300] DEBUG: ControlSocketRead: 540:5.00
[02/Dec/2010:19:14:34 +0300] DEBUG: ControlSocketRead: 540:10.00
[02/Dec/2010:19:14:34 +0300] DEBUG: ControlSocketRead: 540:100.00
[02/Dec/2010:19:14:34 +0300] DEBUG: ControlSocketRead: 560:Provisioning complete!
[02/Dec/2010:19:14:34 +0300] DEBUG: ControlSocketWrite: 140:Export
[02/Dec/2010:19:14:34 +0300] DEBUG: ControlSocketRead: 520:Waiting for export...
[02/Dec/2010:19:14:34 +0300] DEBUG: ControlSocketRead: 530:rbs:f4f6b9132e4f00d67db8342327649da5|941e2758|0e445d13
[02/Dec/2010:19:14:34 +0300] DEBUG: StartProcess: /sbin/iscsiadm --mode node --targetname rbs:f4f6b9132e4f00d67db8342327649da5 --op delete --portal 127.0.0.1:3260
[02/Dec/2010:19:14:34 +0300] iscsiadm: iscsiadm: no records found!
[02/Dec/2010:19:14:36 +0300] DEBUG: 192.168.1.8:3260,1 rbs:84cbc4dbc9388cf0865737fc73ad82c0
[02/Dec/2010:19:14:36 +0300] DEBUG: 127.0.0.1:3260,1 rbs:84cbc4dbc9388cf0865737fc73ad82c0
[02/Dec/2010:19:14:36 +0300] DEBUG: 192.168.1.8:3260,1 rbs:f4f6b9132e4f00d67db8342327649da5
[02/Dec/2010:19:14:36 +0300] DEBUG: 127.0.0.1:3260,1 rbs:f4f6b9132e4f00d67db8342327649da5
[02/Dec/2010:19:14:36 +0300] DEBUG: StartProcess: /sbin/iscsiadm --mode node --targetname rbs:f4f6b9132e4f00d67db8342327649da5 --op update --name=node.session.auth.authmethod --value CHAP
[02/Dec/2010:19:14:38 +0300] DEBUG: StartProcess: /sbin/iscsiadm --mode node --targetname rbs:f4f6b9132e4f00d67db8342327649da5 --op update --name=node.session.auth.username --value 941e2758
[02/Dec/2010:19:14:38 +0300] DEBUG: StartProcess: /sbin/iscsiadm --mode node --targetname rbs:f4f6b9132e4f00d67db8342327649da5 --op update --name=node.session.auth.password --value 0e445d13
[02/Dec/2010:19:14:38 +0300] DEBUG: StartProcess: /sbin/iscsiadm --mode node --targetname rbs:f4f6b9132e4f00d67db8342327649da5 --op update --name=node.session.iscsi.FastAbort --value Yes
[02/Dec/2010:19:14:38 +0300] DEBUG: StartProcess: /sbin/iscsiadm --mode node --targetname rbs:f4f6b9132e4f00d67db8342327649da5 --op update --name=node.session.cmds_max --value 16
[02/Dec/2010:19:14:38 +0300] DEBUG: StartProcess: /sbin/iscsiadm --mode node --targetname rbs:f4f6b9132e4f00d67db8342327649da5 --op update --name=node.session.queue_depth --value 32
[02/Dec/2010:19:14:38 +0300] DEBUG: StartProcess: /sbin/iscsiadm --mode node --targetname rbs:f4f6b9132e4f00d67db8342327649da5 --op update --name=node.session.timeo.replacement_timeout --value 480
[02/Dec/2010:19:14:38 +0300] DEBUG: StartProcess: /sbin/iscsiadm --mode node --targetname rbs:f4f6b9132e4f00d67db8342327649da5 --op update --name=node.session.err_timeo.abort_timeout --value 60
[02/Dec/2010:19:14:38 +0300] DEBUG: StartProcess: /sbin/iscsiadm --mode node --targetname rbs:f4f6b9132e4f00d67db8342327649da5 --op update --name=node.session.iscsi.FirstBurstLength --value 65536
[02/Dec/2010:19:14:38 +0300] DEBUG: StartProcess: /sbin/iscsiadm --mode node --targetname rbs:f4f6b9132e4f00d67db8342327649da5 --op update --name=node.session.iscsi.MaxBurstLength --value 4194048
[02/Dec/2010:19:14:38 +0300] DEBUG: StartProcess: /sbin/iscsiadm --mode node --targetname rbs:f4f6b9132e4f00d67db8342327649da5 --op update --name=node.conn[0].timeo.noop_out_timeout --value 0
[02/Dec/2010:19:14:38 +0300] DEBUG: StartProcess: /sbin/iscsiadm --mode node --targetname rbs:f4f6b9132e4f00d67db8342327649da5 --op update --name=node.conn[0].timeo.noop_out_interval --value 0
[02/Dec/2010:19:14:38 +0300] DEBUG: StartProcess: /sbin/iscsiadm --mode node --targetname rbs:f4f6b9132e4f00d67db8342327649da5 --op update --name=node.conn[0].tcp.window_size --value 131072
[02/Dec/2010:19:14:39 +0300] DEBUG: StartProcess: /sbin/iscsiadm --mode node --targetname rbs:f4f6b9132e4f00d67db8342327649da5 --op update --name=node.conn[0].iscsi.MaxRecvDataSegmentLength --value 16384
[02/Dec/2010:19:14:39 +0300] DEBUG: StartProcess: /sbin/iscsiadm --mode node --targetname rbs:f4f6b9132e4f00d67db8342327649da5 --portal 127.0.0.1:3260 --login
[02/Dec/2010:19:14:48 +0300] iscsiadm: Logging in to [iface: default, target: rbs:f4f6b9132e4f00d67db8342327649da5, portal: 127.0.0.1,3260]
[02/Dec/2010:19:14:48 +0300] iscsiadm: Login to [iface: default, target: rbs:f4f6b9132e4f00d67db8342327649da5, portal: 127.0.0.1,3260]: successful
[02/Dec/2010:19:14:50 +0300] DEBUG: iSCSI block device: /dev/sdb
[02/Dec/2010:19:14:50 +0300] DEBUG: StartProcess: /sbin/modprobe aes_i586
.....
.....
.....
[02/Dec/2010:19:15:20 +0300] DEBUG: StartProcess: /bin/sync
[02/Dec/2010:19:15:29 +0300] DEBUG: StartProcess: /bin/sync
[02/Dec/2010:19:15:30 +0300] DEBUG: ControlSocketWrite: 150:600:19827:0
[02/Dec/2010:19:15:30 +0300] DEBUG: ControlSocketWrite: 161:eNpLtDK0qi62MrVSSknMzKlUsk60MrKqzrQyNLI0NDYwM7U0g4hAlKTmlCQqWRdbGVspGRkagVhA0ZzMvOxiZNFauHZzY2OStJsYmgO119YCACAyKPQ=
[02/Dec/2010:19:15:30 +0300] DEBUG: ControlSocketWrite: 210:Logout
[02/Dec/2010:19:15:30 +0300] DEBUG: StartProcess: /sbin/fuser -skm /var/lib/rbs/mnt
[02/Dec/2010:19:15:31 +0300] DEBUG: StartProcess: /bin/umount /var/lib/rbs/mnt
[02/Dec/2010:19:15:33 +0300] DEBUG: StartProcess: /sbin/cryptsetup remove rbs
[02/Dec/2010:19:15:33 +0300] DEBUG: StartProcess: /sbin/iscsiadm --mode node --targetname rbs:f4f6b9132e4f00d67db8342327649da5 --portal 127.0.0.1:3260 --logout
[02/Dec/2010:19:15:33 +0300] iscsiadm: Logging out of session [sid: 1, target: rbs:f4f6b9132e4f00d67db8342327649da5, portal: 127.0.0.1,3260]
[02/Dec/2010:19:15:33 +0300] iscsiadm: Logout of [sid: 1, target: rbs:f4f6b9132e4f00d67db8342327649da5, portal: 127.0.0.1,3260]: successful

Полный лог: http://paste.org.ru/?xz1ews

Скрипт:

http://paste.org.ru/?q1xa9u

Инклуд:

http://paste.org.ru/?6v16td

Насколько разобрался алгоритм работает следующим образом: Подключается к iSCSI серверу, (как происходит алгоритм аутентификации пока не распарсил)

Создается iSCSI block device: /dev/sdb

Грузится модуль ядра aes_i586 (данные шифровать)

Создаем шифрованый том /sbin/cryptsetup -c aes -s 256 -h aes-cbc-essiv:sha256 -d /tmp/rbs-keyfifo create rbs /dev/sdb (точнее уже расшифрованый это он на iSCSi лежит шифрованым)

Дальше быстренько проверяем fs: fsck -f -t ext2 -y

Доделываем все не доделаyное StartProcess: /bin/sync resize2fs - видимо на тот случай если мы взяли тарифный план побольше и увеличиваем размер диска ??

Монтируем наш том в /var/lib/rbs/mnt

Дальше тут работает rsync что работает и как видно из командной строки

Потом опять сбрасываем на диск не завершенные операции

Прибиваем все процессы использующие том

отмонтируем

Отключаем крипто контейнер

Дальше видимо отключается iSCSI



Последнее исправление: RaDiSt (всего исправлений: 2)

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.