QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

熊天琪游戏论坛 - 玩出名堂

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 12|回复: 0

[文本教程] iscsi+pxe 实现无盘安装,无盘启动

[复制链接]
发表于 2018-10-10 02:13:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
  PXE 环境需要dhcp, tftp, 看个人习惯,有很多组合, 我习惯用dnsmasq, 小巧又功能强大
  配置文件大致包含以下几项
  dhcp-range=192.168.1.50,192.168.1.150,255.255.255.0,12h
  dhcp-option=3,192.168.1.1
  expand-hosts
  domain=linuxce.cn
  dhcp-host=00:0c:29:34:67:9a,net:diskless
  dhcp-option=net:diskless,17,"iscsi:192.168.1.147::::iqn.2008.com.linuxce:linuxce.windiskless.20090210124113"
  dhcp-option=44,192.168.1.6
  dhcp-boot=pxelinux.0
  enable-tftp
  tftp-root=/tftpboot
  红色的两项是要给gpxe 使用,从gpxe 启动不支持大于1024 cylinder 的大硬盘,奇怪的是在虚拟机中把网卡认做成10M,启动速度奇慢
  在调试阶段出现最多的问题是拼写错误,最好不使用服务,而是在命令行下面带调试参数
  dnsmasq –d --log-dhcp
  pxe 的配置菜单如下
  default vesamenu.c32
  #prompt 1
  timeout 600
  display boot.msg
  F1 boot.msg
  F2 options.msg
  F3 general.msg
  F4 param.msg
  F5 rescue.msg
  menu background splash.jpg
  menu title Welcome to Fedora 10!
  menu color border 0 #ffffffff #00000000
  menu color sel 7 #ffffffff #ff000000
  menu color title 0 #ffffffff #00000000
  menu color tabmsg 0 #ffffffff #00000000
  menu color unsel 0 #ffffffff #00000000
  menu color hotsel 0 #ff000000 #ffffffff
  menu color hotkey 7 #ffffffff #ff000000
  label linux
  menu label ^Install or upgrade an existing system
  kernel vmlinuz
  append initrd=initrd.img
  label iscsi
  menu label boot diskless linux from iscsi
  kernel vmlinuz_diskless
  append initrd=initrd_diskless
  label gpxe
  menu label boot diskless windows from iscsi
  kernel gpxe.lkrn
  后面会提到那两个启动文件vmlinuz_diskless, initrd_diskless如何获得
  iscsi 环境设置
  现在支持iscsi 服务的系统很多, 我用的是LHS-200 iscsi 存储器, 一个小巧的黑盒子, 装上硬盘,开机就可使用, 要高性能可以装一个PC 版本, 嫌麻烦可以到他的网站
  
  抓一个已经配置好的虚拟机来用,
  Linux Home Server 谈不上有什么复杂配置, 首先登录
  
[img=601,504  src=]http://www.xiongtianqi.cn/[/img]


  第一次运行时配置一下重建存储,然后为无盘工作站划分一部分存储空间
  
[img=661,530  src=]http://www.xiongtianqi.cn/[/img]


  然后为应用分配空间即可
  
[img=645,517  src=]http://www.xiongtianqi.cn/[/img]


  安装linux
  和通常的linux 安装没有太多的区别,安装时只需要注意三点,安装源选ftp, 安装硬盘选iscsi, 分区必须手动指定,不能自动处理,发几张图就明白了,我用的是fedora 10, 把安装光盘的iso 中image/pxeboot 中的vmlinuz 和initrd.img 拷贝到PXE 需要的目录即可,安装测试是在vmware workstation 中做,主要是方便截图
  
[img=608,576  src=]http://www.xiongtianqi.cn/[/img]


  
[img=609,458  src=]http://www.xiongtianqi.cn/[/img]


  
[img=614,345  src=]http://www.xiongtianqi.cn/[/img]


  
[img=631,351  src=]http://www.xiongtianqi.cn/[/img]


  硬盘选项选Advanced Storage Configure,加上iscsi 盘
  
[img=609,458  src=]http://www.xiongtianqi.cn/[/img]


  
[img=581,437  src=]http://www.xiongtianqi.cn/[/img]


  需要手工分区
  
[img=520,391  src=]http://www.xiongtianqi.cn/[/img]


  
[img=589,443  src=]http://www.xiongtianqi.cn/[/img]


  在pxe 中配置启动菜单
  安装完成后,需要把启动用的vmlinuz, initrd.img 拷贝到PXE 环境, 由于这两个文件存储在iscsi 服务器上,所以先要连到iscsi 服务器,挂接硬盘,才能拷贝出来
  连接iscsi 服务器
  iscsiadm -m discovery -t st-–p 192.168.1.147 -l
  用fdisk -l 可以看到多出来的硬盘, 挂上/dev/sdc1, 看一下 grub 下的配置, 把对应的vmlinuz-xxx, initrd-xxx.img 拷贝到PXE 目录
  一直很奇怪启动程序是如何找到 iqn 的,看一下initrd-xxx.img 中的init 就明白了,原来是安装程序写死了
  #!/bin/nash
  mount -t proc /proc /proc
  setquiet
  echo Mounting proc filesystem
  echo Mounting sysfs filesystem
  mount -t sysfs /sys /sys
  echo Creating /dev
  mount -o mode=0755 -t tmpfs /dev /dev
  mkdir /dev/pts
  mount -t devpts -o gid=5,mode=620 /dev/pts /dev/pts
  mkdir /dev/shm
  mkdir /dev/mapper
  echo Creating initial device nodes
  mknod /dev/null c 1 3
  mknod /dev/zero c 1 5
  mknod /dev/systty c 4 0
  mknod /dev/tty c 5 0
  mknod /dev/console c 5 1
  mknod /dev/ptmx c 5 2
  mknod /dev/fb c 29 0
  mknod /dev/tty0 c 4 0
  mknod /dev/tty1 c 4 1
  mknod /dev/tty2 c 4 2
  mknod /dev/tty3 c 4 3
  mknod /dev/tty4 c 4 4
  mknod /dev/tty5 c 4 5
  mknod /dev/tty6 c 4 6
  mknod /dev/tty7 c 4 7
  mknod /dev/tty8 c 4 8
  mknod /dev/tty9 c 4 9
  mknod /dev/tty10 c 4 10
  mknod /dev/tty11 c 4 11
  mknod /dev/tty12 c 4 12
  mknod /dev/ttyS0 c 4 64
  mknod /dev/ttyS1 c 4 65
  mknod /dev/ttyS2 c 4 66
  mknod /dev/ttyS3 c 4 67
  /lib/udev/console_init tty0
  daemonize --ignore-missing /bin/plymouthd
  plymouth --show-splash
  echo Setting up hotplug.
  hotplug
  echo Creating block device nodes.
  mkblkdevs
  echo Creating character device nodes.
  mkchardevs
  echo "Loading crc32c module"
  modprobe -q crc32c
  echo "Loading iscsi_tcp module"
  modprobe -q iscsi_tcp
  echo "Loading mii module"
  modprobe -q mii
  echo "Loading pcnet32 module"
  modprobe -q pcnet32
  echo Bringing up eth0
  network --device eth0 --bootproto dhcp
  echo Attaching to iSCSI storage
  /bin/iscsistart -t iqn.2008.com.linuxce:linuxce.linuxdiskless.20090210124113 -i iqn.2005-03.com.max:01.c33d08 -g 1 -a 192.168.1.147
  mkblkdevs
  resume UUID=6e8af94c-e235-47e8-907b-fc4c2e907346
  echo Creating root device.
  mkrootdev -t ext3 -o defaults,ro UUID=316e2736-43b7-47b8-9b5d-40b89a52a192
  echo Mounting root filesystem.
  mount /sysroot
  cond -ne 0 plymouth --hide-splash
  echo Setting up other filesystems.
  setuproot
  echo Copying DHCP lease
  cp /var/lib/dhclient/dhclient.leases /sysroot/dev/.dhclient-eth0.leases
  loadpolicy
  plymouth --newroot=/sysroot
  echo Switching to new root and running init.
  switchroot
  echo Booting has failed.
  sleep -1
  由于启动程序只需要从网络获得 vmlinuz, initrd.img 两个文件就基本可以工作,所以传输量不大, 时间延迟还过得去,但从gpxe 启动时间就非常长,几乎不能忍受
<p align=center>  
[img=599,451  src=]http://www.xiongtianqi.cn/[/img]

[table=98%][/table]
熊天琪的论坛真是太好啦, 我太喜欢熊天琪啦
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Loading...

QQ|小黑屋|Archiver|手机版|熊天琪 ( 鄂ICP备14006674号,鄂公网安备42020502000003号 

安全联盟

GMT+8, 2018-10-19 13:15 , Processed in 0.136691 second(s), 27 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表