CentOS 7
iscsi-utils installieren:
yum install -y epel-release
yum install -y scsi-target-utils
Ordner für Image erstellen:
mkdir -p /mnt/disk_a/iscsi_disk
Image erstellen:
dd if=/dev/zero of=/mnt/disk_a/iscsi_disk/disk01.img count=0 bs=1 seek=8G
tgtd konfigurieren:
vi /etc/tgt/tgtd.conf
<target iqn.2017-12.net.mynet.intern.lx-server:target00>
backing-store /mnt/disk_a/iscsi_disk/disk01.img
</target>
tgtd starten:
systemctl start tgtd.service
systemctl enable tgtd.service
ISCSI-Ziel abfragen:
iscsiadm –mode discovery –type sendtargets –portal 192.168.1.123:3260
Mit ISCSI-Ziel verbinden:
iscsiadm –mode node –login –loginall all
Partitiontabelle erstellen:
fdisk /dev/sdX
Partition formatieren:
mkfs.ext4 /dev/sdX
Neue Partition suchen:
fdisk -l
Disk /dev/sdi: 8589 MB, 8589934592 bytes, 16777216 sectors
Units = Sektoren of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x0006a04c
Anpassungen bei einer bestehenden RPI-Installation mit Raspbian:
uname -r > 4.4.21+
apt-get install open-iscsi
touch /etc/iscsi/iscsi.initramfs
update-initramfs -v -k `uname -r` -c
cd /boot
ls > initrd.img-4.4.21+
vi config.txt :
initramfs initrd.img-4.4.21+ followkernel
vi cmdline.txt:
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty10 elevator=deadline root=UUID=18de8be8-aa98-4245-a001-6cf34a250c47 rootfstype=ext4 ISCSI_INITIATOR=iqn.2017-12.net.mynet.intern.lx-server:dgpi ISCSI_TARGET_NAME=iqn.2017-12.net.mynet.intern.lx-server:target00 ISCSI_TARGET_IP=192.168.1.123 ISCSI_TARGET_PORT=3260 fsck.repair=yes rootwait
vi /etc/iscsi/initiatorname.iscsi :
InitiatorName=iqn.2017-12.net.mynet.intern.lx-server:dgpi
blkid:
/dev/sda1: UUID=“18de8be8-aa98-4245-a001-6cf34a250c47″
vi /etc/fstab:
/dev/mmcblk0p1 /boot vfat defaults,ro 0 2
UUID=18de8be8-aa98-4245-a001-6cf34a250c47 / ext4 defaults 1 1
RPI sd-karte am Server mounten und rootfs kopieren:
mkdir /OLD
mkdir /NEW
mount /dev/mmcblk0p2 /OLD
mount /dev/sdi1 /NEW
cd /OLD
tar -cSp –numeric-owner –atime-preserve -f – . | ( cd /NEW && tar -xSpv –atime-preserve -f – )
reboot
Auszug aus syslog:
Dec 16 20:44:10 pi kernel: [ 9.127900] iscsi: registered transport (tcp)
Dec 16 20:44:10 pi kernel: [ 10.432443] scsi host0: iSCSI Initiator over TCP/IP
Dec 16 20:44:10 pi kernel: [ 10.753011] scsi 0:0:0:0: RAID IET Controller 0001 PQ: 0 ANSI: 5
Dec 16 20:44:10 pi kernel: [ 10.802849] scsi 0:0:0:1: Direct-Access IET VIRTUAL-DISK 0001 PQ: 0 ANSI: 5
Dec 16 20:44:10 pi kernel: [ 10.846182] sd 0:0:0:1: [sda] 16777216 512-byte logical blocks: (8.59 GB/8.00 GiB)
Dec 16 20:44:10 pi kernel: [ 10.864030] sd 0:0:0:1: [sda] 4096-byte physical blocks
Dec 16 20:44:10 pi kernel: [ 10.937352] sd 0:0:0:1: [sda] Write Protect is off
Dec 16 20:44:10 pi kernel: [ 10.952641] sd 0:0:0:1: [sda] Mode Sense: 69 00 10 08
Dec 16 20:44:10 pi kernel: [ 10.974148] scsi 0:0:0:0: Attached scsi generic sg0 type 12
Dec 16 20:44:10 pi kernel: [ 10.990948] sd 0:0:0:1: [sda] Write cache: enabled, read cache: enabled, supports DPO and FUA
Dec 16 20:44:10 pi kernel: [ 11.014910] sd 0:0:0:1: Attached scsi generic sg1 type 0
Dec 16 20:44:10 pi kernel: [ 11.091095] sda: sda1
Dec 16 20:44:10 pi kernel: [ 11.191183] sd 0:0:0:1: [sda] Attached SCSI disk
Dec 16 20:44:10 pi kernel: [ 12.774408] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
Fazit:
Im Prinzip funktioniert der allgemeine Betrieb gut, solange das target zur Verfügung steht.
Nach einem reboot oder einem wegbrechen der Netzwerkverbindung steht der RPI und kann nur durch trennen und wieder verbinden der Stromzufuhr zum Leben erweckt werden.
Ein sauberer shutdown bzw. ein reboot ist auch nicht möglich.
Nur ein „poweroff -f“ bzw. ein „reboot -f“ ist möglich.