标签: Linux无盘

  • 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/