设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 数据 手机 公司
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

如何构建一台网络引导服务器(二)(4)

发布时间:2019-01-05 06:02 所属栏目:117 来源:Gregory Bartholomew
导读:现在,我们可以去删除本系列文章的第一部分中创建的 NFS 共享了: # rm -f /etc/exports.d/fc28.exports # exportfs -rv # umount /export/fc28 # rmdir /export/fc28 # sed -i '/^\/fc28 /d' /etc/fstab 你也可以

现在,我们可以去删除本系列文章的第一部分中创建的 NFS 共享了:

  1. # rm -f /etc/exports.d/fc28.exports
  2. # exportfs -rv
  3. # umount /export/fc28
  4. # rmdir /export/fc28
  5. # sed -i '/^\/fc28 /d' /etc/fstab

你也可以删除 /fc28 文件系统,但为了以后进一步更新,你可能需要保留它。

更新 ESP 去使用 iSCSI 内核

更新 ESP 去包含启用了 iSCSI 的 initramfs

  1. $ rm -vf $HOME/esp/linux/*.fc28.*
  2. $ MY_KRNL=$(ls -c /fc28/lib/modules | head -n 1)
  3. $ cp $(find /fc28/lib/modules -maxdepth 2 -name 'vmlinuz' | grep -m 1 $MY_KRNL) $HOME/esp/linux/vmlinuz-$MY_KRNL
  4. $ cp $(find /fc28/boot -name 'init*' | grep -m 1 $MY_KRNL) $HOME/esp/linux/initramfs-$MY_KRNL.img

更新 boot.cfg 文件去传递新的 rootnetroot 参数:

  1. $ MY_NAME=server-01.example.edu
  2. $ MY_EMAN=$(echo $MY_NAME | tr '.' "\n" | tac | tr "\n" '.' | cut -b -${#MY_NAME})
  3. $ MY_ADDR=$(host -t A $MY_NAME | awk '{print $4}')
  4. $ sed -i "s! root=[^ ]*! root=/dev/disk/by-path/ip-$MY_ADDR:3260-iscsi-iqn.$MY_EMAN:fc28-lun-1 netroot=iscsi:$MY_ADDR::::iqn.$MY_EMAN:fc28!" $HOME/esp/linux/boot.cfg

现在,你只需要从 $HOME/esp/linux 目录中复制更新后的文件到所有客户端系统的 ESP 中。你应该会看到类似下面屏幕截图的结果:

如何构建一台网络引导服务器(二)

更新镜像

首先,复制出一个当前镜像的副本:

  1. # cp -a /fc28 /fc29

chroot 进入到镜像的新副本:

  1. # for i in dev dev/pts dev/shm proc sys run; do mount -o bind /$i /fc29/$i; done
  2. # chroot /fc29 /usr/bin/bash --login

允许更新内核:

  1. # sed -i 's/^exclude=kernel-\*$/#exclude=kernel-*/' /etc/dnf/dnf.conf

执行升级:

  1. # dnf distro-sync -y --releasever=29

阻止更新过的内核被再次更新:

  1. # sed -i 's/^#exclude=kernel-\*$/exclude=kernel-*/' /etc/dnf/dnf.conf

上述命令是可选的,但是在以后,如果在镜像中添加和更新了几个包,在你的客户端之外保存有一个最新内核的副本,会在关键时刻对你非常有帮助。

清理 dnf 的包缓存:

  1. # dnf clean all

退出 chroot 并清理 root 的命令历史:

  1. # logout
  2. # for i in run sys proc dev/shm dev/pts dev; do umount /fc29/$i; done
  3. # > /fc29/root/.bash_history

创建 iSCSI 镜像:

  1. # FC29_SIZE=$(du -ms /fc29 | cut -f 1)
  2. # dd if=/dev/zero of=/fc29.img bs=1MiB count=0 seek=$(($FC29_SIZE*2))
  3. # mkfs -t xfs -L NETROOT /fc29.img
  4. # TEMP_MNT=$(mktemp -d)
  5. # mount /fc29.img $TEMP_MNT
  6. # cp -a /fc29/* $TEMP_MNT
  7. # umount $TEMP_MNT

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读