ubuntu/debian diskless(iSCSI无盘系统制作)

说明:此博文以Ubuntu20.04 desktop为基础制作无盘,非liveCD方式以及非DHCP分配IP地址看文章末尾的我参考的英文原版链接

1.首先进入Ubuntu live系统,选择试用,并且打开终端,然后安装open-iscsi

sudo apt install open-iscsi

2.执行以下命令进入root用户

sudo -s

3.修改iSCSI的initiator name并且重启iscsid服务(这一步指定本地initiator name,有些iSCSI需要验证initiator name,比如windows server的iSCSI Target)

echo "InitiatorName=ubuntu" >/etc/iscsi/initiatorname.iscsi

/etc/init.d/iscsid restart

4.发现iSCSI Target硬盘

iscsiadm -m discovery -t sendtargets -p 192.168.1.1

5.映射到本地磁盘

iscsiadm -m node -T 'iqn.ubuntu' -p 192.168.1.1 -l

6.执行ubuntu安装程序,选择相应的硬盘安装
7.安装之后我们需要修改安装的目标硬盘的一些配置以便能够从iSCSI中引导(这里假设iSCSI映射到本地的硬盘为/dev/sda,系统分区为/dev/sda1)
8.挂载/dev/sda1

mount /dev/sda1 /mnt

9.映射本地设备文件到chroot环境

mount -t proc none /mnt/proc
mount -t sysfs none /mnt/sys
mount --bind /dev /mnt/dev

10.chroot到分区

chroot /mnt

11.安装open-iscsi

sudo apt install open-iscsi

12.修改chroot iSCSI的initiator name

echo "InitiatorName=your_initiator_name" > /etc/iscsi/initiatorname.iscsi

13.修改/etc/default/grub文件,像如下这样

GRUB_CMDLINE_LINUX="ISCSI_INITIATOR=ubuntu ISCSI_TARGET_NAME=iqn.ubuntu ISCSI_TARGET_IP=192.168.1.1 ip=dhcp"

14.更新引导以及initramfs

update-grub
update-initramfs -u

15.使用iPXE的iSCSI引导功能,参考代码如下(注意这里的iPXE具体用法不详细介绍,并且这里的代码也只是部分,要想使用iPXE,请阅读iPXE的官网手册)

#!ipxe

set initiator-iqn ubuntu
sanboot --no-describe iscsi:192.168.1.1::::iqn.ubuntu

16.重启系统使用iPXE引导进入即可
如果是非桌面liveCD方式,这里是我参考的文章地址

https://backreference.org/2013/12/23/diskless-iscsi-boot-with-pxe-howto/

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注