CloudBoot

CloudBoot

X86服务器配置安装工具,运维人的“番茄花园”

CloudBoot 之 PXE+KickStart图形化

CloudBootSiffre 发表了文章 • 0 个评论 • 822 次浏览 • 2016-01-22 15:00 • 来自相关话题

1.安装软件yum install system-config-kickstart -y2.打开软件





界面如下:






操作如下:











进行分区操作:






























生成一个ks.cfg文件,位置在root用户家目录中:





使用http,需要将目录拷贝到/var/www/html/下,为方便,直接在/var/www/html/下建立文件夹11:





然后把root下的ks.cfg拷贝到/var/www/html/11中,查看





修改tftp文件
vim /var/lib/tftpboot/pxelinux.cfg/default

#default vesamenu.c32
default linux #需要修改
prompt 1 #需要修改
省略...

label linux

menu
label ^Install or upgrade an existing system

menu
default

kernel
vmlinuz

append
initrd=initrd.img ks=http://10.0.0.1/11/ks.cfg #添加ks.cfg路径

label vesa

menu
label Install system with ^basic video driver

kernel
vmlinuz

append
initrd=initrd.img nomodeset

label rescue

menu
label ^Rescue installed system

kernel
vmlinuz

append
initrd=initrd.img rescue

label local

menu
label Boot from ^local drive

localboot
0xffff

label memtest86

menu
label ^Memory test

kernel
memtest

append –
保存退出,重启服务
service xinted restart





如果要让linux在安装时提示选择界面安装,需要我们从光盘中的isolinux中拷贝Vesamenu.c32文件到/var/lib/tftpbopot/下:





拷贝
cp vesamenu.c32 /var/lib/tftpboot





修改tftp的配置文件,启用default vesamenu.c32




重启动服务
service xinetd restart
安装服务器





  查看全部
1.安装软件
yum install system-config-kickstart  -y
2.打开软件
图片_1.png


界面如下:

图片_2.png


操作如下:

图片_3.png


图片_4.png


进行分区操作:

图片_5.png


图片_6.png


图片_7.png


图片_8.png


图片_9.png


图片_10.png

  • 生成一个ks.cfg文件,位置在root用户家目录中:


图片_11.png

  • 使用http,需要将目录拷贝到/var/www/html/下,为方便,直接在/var/www/html/下建立文件夹11:


图片_12.png

  • 然后把root下的ks.cfg拷贝到/var/www/html/11中,查看


图片_13.png

  • 修改tftp文件

vim /var/lib/tftpboot/pxelinux.cfg/default

#default vesamenu.c32
default linux #需要修改
prompt 1 #需要修改
省略...

label linux

menu
label ^Install or upgrade an existing system

menu
default

kernel
vmlinuz

append
initrd=initrd.img ks=http://10.0.0.1/11/ks.cfg #添加ks.cfg路径

label vesa

menu
label Install system with ^basic video driver

kernel
vmlinuz

append
initrd=initrd.img nomodeset

label rescue

menu
label ^Rescue installed system

kernel
vmlinuz

append
initrd=initrd.img rescue

label local

menu
label Boot from ^local drive

localboot
0xffff

label memtest86

menu
label ^Memory test

kernel
memtest

append –

  • 保存退出,重启服务

service xinted restart





  • 如果要让linux在安装时提示选择界面安装,需要我们从光盘中的isolinux中拷贝Vesamenu.c32文件到/var/lib/tftpbopot/下:


图片_14.png

  • 拷贝

cp vesamenu.c32  /var/lib/tftpboot





  • 修改tftp的配置文件,启用default vesamenu.c32

图片_15.png

  • 重启动服务

service xinetd  restart

  • 安装服务器


图片_16.png

 

CloudBoot 之 PXE+Kickstart命令行

CloudBootSiffre 发表了文章 • 0 个评论 • 1297 次浏览 • 2016-01-22 14:04 • 来自相关话题

1.导言

从事Linux系统运维工作的朋友们,经常会遇到一些苦逼的工作:装物理机、装虚拟机。由于厂商比较多,各家公司根据不同的业务采购的机器也是各不相同的,而且还要在短时间内完成。以前我们基本用的都是PXE+KickStart和Cobbler的方式来装操作系统,今天主要是介绍PXE+KickStart,内容如下:

2. 通用基础知识

2.1 系统安装方式

光盘安装系统

U盘安装系统

网络安装系统

绝大多数的机器都是托管在运营商机房的,到现场去装系统成本太大,太浪费时间,目前都是采用远程的网络式装机:





 
2.2 DHCP的工作过程

对于学习 DHCP来说,很重要的一部分就是对于DHCP工作过程的理解。那么首先DHCP分为两个部分:一个是服务器端,另一个是客户端。所有客户机的IP地址设 定资料都由DHCP服务器集中管理,并负责处理客户端的DHCP要求;而客户端则会使用从服务器分配下来的IP地址。

DHCP服务器提供三 种IP分配方式:自动分配(Automatic Allocation)、动态分配(Dynamic Allocation)和手动分配。自动分配是当DHCP客户端第一次成功地从DHCP服务器端分配到一个IP地址之后,就永远使用这个地址。动态分配是当DHCP客户端第一次从DHCP服务器分配到IP地址后,并非永久地使用该地址,每次使用完后,DHCP客户端就得释放这个IP地址,以给其他客户端使用,而手动分配是由DHCP服务器管理员专门指定IP地址。

DHCP客户机在启动时,会搜寻网络中是否存在DHCP服务器。如果找到,则给 DHCP服务器发送一个请求。DHCP服务器接到请求后,为DHCP客户机选择TCP/IP配置的参数,并把这些参数发送给客户端。如果已配置冲突检测设置,则 DHCP 服务器在将租约中的地址提供给客户机之前会试用Ping测试作用域中每个可用地址的连通性。这可确保提供给客户的每个IP地址都没有被使用手动 TCP/IP配置的另一台非 DHCP 计算机使用。

根据客户端是否第一次登录网络,DHCP的工作形式会有所不同。客户端从DHCP服务器上获得IP地址的整个过程分为以下六个步骤:
寻找DHCP服务器

当DHCP客户端第一次登录网络的时候,计算机发现本机上没有任何IP地址设定,将以广播方式发送DHCP discover发现信息来寻找DHCP服务器,即向255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会介绍这个广播信息,但只有DHCP服务器才会做出响应。





分配IP地址
在网络中接收到DHCP discover发现信息的DHCP服务器都会做出相应,它从尚未分配的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含分配的IP地址和其他设置的DHCP offer提供信息。





接受IP地址
DHCP客户端接受到DHCP offer提供信息之后,选择第一个接收到的提供信息,然后以广播的方式回答一个DHCP request请求信息,该信息包含向它所选定的DHCP服务器请求IP地址的内容。





IP地址分配确认
当DHCP服务器收到DHCP客户端回答的DHCP request请求信息之后,便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户端可以使用它提供的IP地址。然后,DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除了DHCP客户机选中的 服务器外,其他的DHCP服务器将收回曾经提供的IP地址。





重新登录
以后DHCP客户端每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时,则DHCP服务器给DHCP客户机回答一个DHCP nack否认信息。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCPdiscover发现信息来请求新的IP地址。





 
1.客户端重新登录





 
2.如果客户端DHCP request 内的IP地址在服务器端没有被使用,DHCP服务器回复DHCP ACK继续使用IP





 
3.如果客户端DHCP request 内的IP地址在服务器端已被使用,DHCP服务器回复DHCP NACK告诉客户端IP已被使用





 
4.客户端重新开始DHCP流程





 
5.更新租约
DHCP 服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。





 
2.3 TFTP简介

TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置。
安装tftp服务器
 
需要安装xinetd、tftp和tftp-server 3个软件

1)如果能上网,通过yum安装:sudo yum install xinetd
sudo yum install tftp
sudo yum install tftp-server2)如果不能上网,可以直接安装提供的rpm包:sudo rpm -ivh xinetd-<?xml:namespace prefix = st1 />2.3.14-18.fc9.i386.rpm
sudo rpm -ivh tftp-0.48-3.fc9.i386.rpm
sudo rpm -ivh tftp-server-0.48-3.fc9.i386.rpm
配置tftp服务器 修改/etc/xinetd.d/tftp文件,将其中的disable=yes改为disable=no
 主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:
service tftp
{ socket_type =dgram
protocol =udp
wait =yes
user =root
server =/usr/sbin/in.tftpd
server_args =-s /home/mike/tftpboot -c
disable =no
per_source =11
cps =100 2
flags =IPv4
}
说明:修改项server_args= -s <path> -c,其中<path>处可以改为你的tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件。
启动tftp服务器并关闭防火墙
/etc/init.d/iptables stop //关闭防火墙
sudo /sbin/service xinetd start
或service xinetd restart
/etc/init.d/xinetd start
看到启动[OK]就可以了
查看tftp服务是否开启
netstat -a | grep tftp
显示结果为
udp 0 0 *:tftp *:*
表明服务已经开启,就表明tftp配置成功了。
tftp使用 -复制一个文件到tftp服务器目录,然后在主机启动tftp软件,进行简单测试。
tftp 192.168.1.2
tftp>get <download file>
tftp>put <upload file>
tftp>q
-tftp命令用法如下
tftp your-ip-address
【进入TFTP操作】
connect:连接到远程tftp服务器
mode:文件传输模式
put:上传文件
get:下载文件
quit:退出
verbose:显示详细的处理信息
tarce:显示包路径
status:显示当前状态信息
binary:二进制传输模式
ascii:ascii传送模式
rexmt:设置包传输的超时时间
timeout:设置重传的超时时间
help:帮助信息
?:帮助信息
Busybox中tftp命令的用法命令格式为:
tftp [option] ... host [port]
如果要下载或上传文件的话是一定要用这些option的。成都明诚科技。
-g表示下载文件(get)
-p表示上传文件(put)
-l表示本地文件名(local file)
-r表示远程主机的文件名(remote file)
例如,要从远程主机192.168.1.2上下载embedexpert,则应输入以下命令
tftp -g -r embedexpert 192.168.1.2




2.4 什么是PXE?

预启动执行环境(Preboot eXecution Environment,PXE,也被称为预执行环境)是让计算机通过网卡独立地使用数据设备(如硬盘)或者安装操作系统。PXE当初是作为Intel的有线管理体系的一部分,Intel和 Systemsoft于1999年9月20日公布其规格(版本2.1)。通过使用像网际协议(IP)、用户数据报协议(UDP)、动态主机设定协定(DHCP)、小型文件传输协议(TFTP)等几种网络协议和全局唯一标识符(GUID)、通用网络驱动接口(UNDI)、通用唯一识别码(UUID)的概念并通过对客户机(通过PXE自检的电脑)固件扩展预设的API来实现目的。PXE 客户机(client)这个术语是指机器在PXE启动过程中的角色。一个PXE 客户机(client)可以是一台服务器、桌面级电脑、笔记本电脑或者其他装有PXE启动代码的机器。

客户机的固件为接受到可用的PXE启动服务器,要在网络中尝试找出PXE重定向服务(DHCP代理)。在分析返回的包后,固件会向合适的启动服务器询问网络自检程序(NBP)的路径,并且通过TFTP协议下载到电脑的内存中,有可能会去校验它,最后执行它。当只有全部的PXE 客户机(client)只使用一个NBP时,全部的PXE 客户机可能会被指定是用BOOTP协议,从而不需要DHCP代理,但是仍然需要TFTP启动服务。

PXE 协议大致上结合了DHCP和TFTP,虽然都有在两者上面有改进。DHCP用于查找合适的启动服务器,TFTP用于下载初始引导程序和附加文件。为了开始一个PXE自检会话,PXE固件广播一个带有明确的PXE选项DHCPDISCOVER包(扩展DHCPDISCOVER)到67/UDP端口(DHCP服务器端口)。PXE选项是PXE固件有PXE能力的鉴定,但是会被一般的DHCP服务忽略。当固件受到从这样的服务受到DHCPOFFER包时,它会通过要求其提供配置信息来自我配置。

当 PXE 重定向服务 (DHCP代理) 收到一个 扩展DHCPDISCOVER 包时,它会通过发送一个带有明确的PXE选项DHCPDISCOVER包到PXE客户机的68/UDP端口 (DHCP 客户机端口)来回答。 一个扩展DHCPDISCOVER包主要包含:
一个PXE发现控制领域,以决定是使用多播,广播(网路)或单播来联系PXE启动服务器。 一个列出可用的PXE启动服务器类型的地址表。 一个代表每个一个PXE启动服务器类型的条目单。 一个带有带有提示用户按下哪一个键来看到启动菜单的PXE启动菜单。一个超过多长时间就启动第一启动菜单的超时数值。

一个DHCP代理服务可能在相同的主机上运行一个标准的DHCP服务器。尽管两个服务不可以共享67/UDP 端口,DHCP代理服务在4011/UDP 端口上运行,要求从客户端来的DHCPDISCOVER 包变成DHCPREQUEST 包。标准DHCP服务在其发送的DHCPOFFER 包中加入特殊的PXE 选项组合,这样PXE客户端知道可以在同一个主机的 4011/UDP 端口找到一个DHCP代理服务。

和一个正在启动系统的启动服务联系必须有一个IP地址(可能来自DHCP服务)。通过多播或单播一个带有特殊的PXE选项的 DHCPREQUEST 包(扩展DHCPREQUEST包)到 4011/UDP端口,或者广播(网路)这种包到 67/UDP端口。这种包包含有PXE启动服务类型和PXE启动层,一个守护进程允许运行多个启动服务类型。 一个扩展 DHCPREQUEST包可能是一个DHCPINFORM包。
 
简单总结一下,
PXE Client发送广播包请求DHCP分配IP地址DHCP Server回复请求,给出IP地址以及Boot Server的地址PXE下载引导文件执行引导程序
 
注:kickstart不在这里详述,参考地址:http://linux.vbird.org/linux_enterprise/0120installation.php

3.PXE + Kickstart自动化安装操作系统实践

前提准备:
DHCP服务器
 
TFTP服务器
 
KickStart所生成的ks.cfg配置文件
 
一台存放系统安装文件的服务器,如NFS、HTTP、或FTP服务器
 
一个带有PXE支持网卡的主机。

3.1 查看当前操作系统版本cat /etc/redhat-release
CentOS release 6.7 (Final)3.2 准备环境
可以连接网络关闭防火墙
/etc/init.d/iptables stop
关闭selinux,临时关闭会不生效,建议修改配置文件后,重启操作系统
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config3.3 安装DHCP服务
安装DHCP
yum -y install dhcp
修改配置文件
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf #拷贝dhcp配置文件#修改配置文件/etc/dhcpd/dhcpd.conf;添加如下
ddns-update-style none;
ignore client-updates;
subnet 10.0.0.0 netmask 255.255.255.0 {
range
10.0.0.100 10.0.0.200;
option
subnet-mask 255.255.255.0;
option
domain-name “internal.example.org”;
default-lease-time 600;
max-lease-time 7200;
next-server
10.0.0.3;
filename
“/pxelinux.0”;
}修改/etc/sysconfig/dhcpd配置文件,表示dhcp将只在eth0网络接口上提供DHCP服务cat /etc/sysconfig/dhcpd
# Command line options here
DHCPDARGS=eth0
启动dhcpd服务
/etc/init.d/dhcpd startDHCP注释:
ddns-update-style none; #设置与DHCP服务相关联的DNS数据动态更新模式,实际的DHCP应用中很少用改参数,设置为none即可。
ignore client-updates; #不允许客户机更新DNS记录
subnet 172.16.10.0 netmask
255.255.255.0 {
range 172.16.10.100 172.16.10.200; #可分配的起始IP-结束IP
option subnet-mask 255.255.255.0; #设置netmask
default-lease-time 21600; #设置默认的IP租用期限
max-lease-time 43200; #设置最大的IP租用期限
next-server 172.16.10.20; #告知客户端TFTP服务器ip
filename “/pxelinux.0”; #告知客户端从TFTP根目录下载pexlinux.0
}3.4 安装TFTP服务
安装tftp-server服务
yum -y install tftp-server
修改配置文件/etc/xinetd.d/tftp disabled修改为no
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server =/usr/sbin/in.tftpd
server_args = -s/var/lib/tftpboot #指定目录,保持默认,不用修改
disable = no #修改此处
per_source = 11
cps = 100 2
flags = IPv4
}
启动服务xinetd代理服务
/etc/init.d/xinetd start
3.6 PXE配置引导

syslinux是一个功能强大的引导加载程序,而且兼容各种介质。SYSLINUX是一个小型的Linux操作系统,它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。如果没有找到pxelinux.0这个文件,可以安装一下。
安装
syslinuxyum -y install syslinux
复制配置文件
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp -a /var/www/html/centos6/isolinux/ * /var/lib/tftpboot/
mkdir -p /var/lib/tftpboot/pxelinux.cfg
cp /var/www/html/centos6/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
添加如下,配置文件
cat /var/lib/tftpboot/pxelinux.cfg/default
default ks
prompt 0
label ks
kernel
vmlinuz
append
initrd=initrd.img ks=http://10.0.0.3/config/Centos6-ks.cfg ksdevice=eth0
# ksdevice=eth0代表当客户端有多块网卡的时候,要实现自动化需要设置从eth0安装,不指定的话,安装的时候系统会让你选择,那就不叫全自动化了。
PXE配置文件default解析
cat /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32 #默认加载一个菜单
#prompt 1 #开启会显示命令行’boot:’ 提示符。prompt值为0时则不提示,将会直接启动’default’参数中指定的内容
timeout 600#timeout时间是引导等待用户手动选择的时间,设为1可直接引导,单位为1/10秒。
display boot.msg
#菜单背景图片、标题、颜色。
menu background splash.jpg
menu title Welcome to CentOS 6.7!
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
menu color scrollbar 0 #ffffffff #00000000
#lable指定在boot:提示符下输入的关键字,比如boot:linux[ENTER],这个会启动lable
linux下标记的kernel和initrd.img文件
label linux#一个标签就是前面图片的一行选项。
menu
label ^Install or upgrade an existing system
menu
default
kernel
vmlinuz #指定要启动的内核。同样要注意路径,默认是/tftpboot目录
append
initrd=initrd.img #指定追加给内核的参数,initrd.img是一个最小的linux系统
label vesa
menu
label Install system with ^basic video driver
kernel
vmlinuz
append
initrd=initrd.img nomodeset
label rescue
menu
label ^Rescue installed system
kernel
vmlinuz
append
initrd=initrd.img rescue
label local
menu
label Boot from ^local drive
localboot
0xffff
label memtest86
menu
label ^Memory test
kernel
memtest
append –
上传kscfg配置文件
grub-crypt #配置root使用密码,加入修改Centos6-ks.cfg文件Password:
Retype password:
$6$006TOzR9rk18CPQw$t/xTyZEw60OWqAho.J1oj3PRo2ib93blCIlVuFCPc6/fuCADB02LKHfNV4x7jtpNAX98TK3K8Zpem8Qkv92111
创建配置文件及优化脚本站点目录
mkdir /var/www/html/config
查看文件
cat /var/www/html/config/Centos6-ks.cfginstall #安装
url –url=”http://10.0.0.3/centos6″ #系统文件地址,这里使用http
text #文本界面安装
lang en_US.UTF-8 #语言
keyboard us #键盘
zerombr #清空mbr
bootloader –location=mbr –driveorder=sda
–append=”crashkernel=auto rhgb quiet” #引导加载程序参数
network –bootproto=dhcp –device=eth1
–onboot=yes –noipv6 –hostname=CentOS6 #eth1网络配置
timezone –utc Asia/Shanghai #时区
authconfig –enableshadow –passalgo=sha512 #验证配置
rootpw–iscrypted $6$006TOzR9rk18CPQw$t/xTyZEw60OWqAho.J1oj3PRo2ib93blCIlVuFCPc6/fuCADB02LKHfNV4x7jtpNAX98TK3K8Zpem8Qkv92111
#root密码,使用grub-crypt生成
clearpart –all –initlabel #清空分区
part /boot –fstype=ext4 –asprimary –size=100 #分区/boot
100M
part swap –size=1500 #分区swap
1500M
part / –fstype=ext4 –grow –asprimary
–size=200 #分区/ 所有
firstboot –disable #关闭一系列服务
selinux –disabled
firewall –disabled
logging –level=info #日志记录等级info级别
reboot #重启
%packages #包组–软件名
@base
@compat-libraries
@debugging
@development
tree
nmap
sysstat
lrzsz
dos2unix
telnet
%post #安装完执行脚本
wget -O /tmp/optimization.sh http://10.0.0.3/config/optimization.sh
&>/dev/null #下载脚本,然后执行
/bin/sh /tmp/optimization.sh #执行脚本
%end


3.7 安装服务器

需要和pxe服务器内网同网段,开机通过dhcp自动获取,然后自动开始装机





















===>到此,PXE+KickStart安装方式就结束了,图形化安装参考这里http://jcenter.idcos.com/?/article/26,是不是很麻烦呢? 查看全部
1.导言

从事Linux系统运维工作的朋友们,经常会遇到一些苦逼的工作:装物理机、装虚拟机。由于厂商比较多,各家公司根据不同的业务采购的机器也是各不相同的,而且还要在短时间内完成。以前我们基本用的都是PXE+KickStart和Cobbler的方式来装操作系统,今天主要是介绍PXE+KickStart,内容如下:

2. 通用基础知识

2.1 系统安装方式

光盘安装系统

U盘安装系统

网络安装系统

绝大多数的机器都是托管在运营商机房的,到现场去装系统成本太大,太浪费时间,目前都是采用远程的网络式装机:

1.png

 
2.2 DHCP的工作过程

对于学习 DHCP来说,很重要的一部分就是对于DHCP工作过程的理解。那么首先DHCP分为两个部分:一个是服务器端,另一个是客户端。所有客户机的IP地址设 定资料都由DHCP服务器集中管理,并负责处理客户端的DHCP要求;而客户端则会使用从服务器分配下来的IP地址。

DHCP服务器提供三 种IP分配方式:自动分配(Automatic Allocation)、动态分配(Dynamic Allocation)和手动分配。自动分配是当DHCP客户端第一次成功地从DHCP服务器端分配到一个IP地址之后,就永远使用这个地址。动态分配是当DHCP客户端第一次从DHCP服务器分配到IP地址后,并非永久地使用该地址,每次使用完后,DHCP客户端就得释放这个IP地址,以给其他客户端使用,而手动分配是由DHCP服务器管理员专门指定IP地址。

DHCP客户机在启动时,会搜寻网络中是否存在DHCP服务器。如果找到,则给 DHCP服务器发送一个请求。DHCP服务器接到请求后,为DHCP客户机选择TCP/IP配置的参数,并把这些参数发送给客户端。如果已配置冲突检测设置,则 DHCP 服务器在将租约中的地址提供给客户机之前会试用Ping测试作用域中每个可用地址的连通性。这可确保提供给客户的每个IP地址都没有被使用手动 TCP/IP配置的另一台非 DHCP 计算机使用。

根据客户端是否第一次登录网络,DHCP的工作形式会有所不同。客户端从DHCP服务器上获得IP地址的整个过程分为以下六个步骤:
  • 寻找DHCP服务器


当DHCP客户端第一次登录网络的时候,计算机发现本机上没有任何IP地址设定,将以广播方式发送DHCP discover发现信息来寻找DHCP服务器,即向255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会介绍这个广播信息,但只有DHCP服务器才会做出响应。

2.png

  • 分配IP地址

在网络中接收到DHCP discover发现信息的DHCP服务器都会做出相应,它从尚未分配的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含分配的IP地址和其他设置的DHCP offer提供信息。

3.png

  • 接受IP地址

DHCP客户端接受到DHCP offer提供信息之后,选择第一个接收到的提供信息,然后以广播的方式回答一个DHCP request请求信息,该信息包含向它所选定的DHCP服务器请求IP地址的内容。

4.png

  • IP地址分配确认

当DHCP服务器收到DHCP客户端回答的DHCP request请求信息之后,便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户端可以使用它提供的IP地址。然后,DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除了DHCP客户机选中的 服务器外,其他的DHCP服务器将收回曾经提供的IP地址。

5.png

  • 重新登录

以后DHCP客户端每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时,则DHCP服务器给DHCP客户机回答一个DHCP nack否认信息。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCPdiscover发现信息来请求新的IP地址。

6.png

 
1.客户端重新登录

6.png

 
2.如果客户端DHCP request 内的IP地址在服务器端没有被使用,DHCP服务器回复DHCP ACK继续使用IP

7.png

 
3.如果客户端DHCP request 内的IP地址在服务器端已被使用,DHCP服务器回复DHCP NACK告诉客户端IP已被使用

8.png

 
4.客户端重新开始DHCP流程

9.png

 
5.更新租约
DHCP 服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。

10.png

 
2.3 TFTP简介

TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置。
  • 安装tftp服务器

 
  • 需要安装xinetd、tftp和tftp-server 3个软件


1)如果能上网,通过yum安装:
sudo yum install xinetd
sudo yum install tftp
sudo yum install tftp-server
2)如果不能上网,可以直接安装提供的rpm包:
sudo rpm -ivh xinetd-<?xml:namespace prefix = st1 />2.3.14-18.fc9.i386.rpm
sudo rpm -ivh tftp-0.48-3.fc9.i386.rpm
sudo rpm -ivh tftp-server-0.48-3.fc9.i386.rpm

  • 配置tftp服务器 修改/etc/xinetd.d/tftp文件,将其中的disable=yes改为disable=no

 
主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:
service tftp
{ socket_type =dgram
protocol =udp
wait =yes
user =root
server =/usr/sbin/in.tftpd
server_args =-s /home/mike/tftpboot -c
disable =no
per_source =11
cps =100 2
flags =IPv4
}
说明:修改项server_args= -s <path> -c,其中<path>处可以改为你的tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件。

  • 启动tftp服务器并关闭防火墙

/etc/init.d/iptables stop //关闭防火墙
sudo /sbin/service xinetd start
或service xinetd restart
/etc/init.d/xinetd start
看到启动[OK]就可以了

  • 查看tftp服务是否开启

netstat -a | grep tftp
显示结果为
udp 0 0 *:tftp *:*
表明服务已经开启,就表明tftp配置成功了。

  • tftp使用 -复制一个文件到tftp服务器目录,然后在主机启动tftp软件,进行简单测试。

tftp 192.168.1.2
tftp>get <download file>
tftp>put <upload file>
tftp>q

  • -tftp命令用法如下

tftp your-ip-address
【进入TFTP操作】
connect:连接到远程tftp服务器
mode:文件传输模式
put:上传文件
get:下载文件
quit:退出
verbose:显示详细的处理信息
tarce:显示包路径
status:显示当前状态信息
binary:二进制传输模式
ascii:ascii传送模式
rexmt:设置包传输的超时时间
timeout:设置重传的超时时间
help:帮助信息
?:帮助信息

  • Busybox中tftp命令的用法命令格式为:

tftp [option] ... host [port]
如果要下载或上传文件的话是一定要用这些option的。成都明诚科技。
-g表示下载文件(get)
-p表示上传文件(put)
-l表示本地文件名(local file)
-r表示远程主机的文件名(remote file)
例如,要从远程主机192.168.1.2上下载embedexpert,则应输入以下命令
tftp -g -r embedexpert 192.168.1.2




2.4 什么是PXE?

预启动执行环境(Preboot eXecution Environment,PXE,也被称为预执行环境)是让计算机通过网卡独立地使用数据设备(如硬盘)或者安装操作系统。PXE当初是作为Intel的有线管理体系的一部分,Intel和 Systemsoft于1999年9月20日公布其规格(版本2.1)。通过使用像网际协议(IP)、用户数据报协议(UDP)、动态主机设定协定(DHCP)、小型文件传输协议(TFTP)等几种网络协议和全局唯一标识符(GUID)、通用网络驱动接口(UNDI)、通用唯一识别码(UUID)的概念并通过对客户机(通过PXE自检的电脑)固件扩展预设的API来实现目的。PXE 客户机(client)这个术语是指机器在PXE启动过程中的角色。一个PXE 客户机(client)可以是一台服务器、桌面级电脑、笔记本电脑或者其他装有PXE启动代码的机器。

客户机的固件为接受到可用的PXE启动服务器,要在网络中尝试找出PXE重定向服务(DHCP代理)。在分析返回的包后,固件会向合适的启动服务器询问网络自检程序(NBP)的路径,并且通过TFTP协议下载到电脑的内存中,有可能会去校验它,最后执行它。当只有全部的PXE 客户机(client)只使用一个NBP时,全部的PXE 客户机可能会被指定是用BOOTP协议,从而不需要DHCP代理,但是仍然需要TFTP启动服务。

PXE 协议大致上结合了DHCP和TFTP,虽然都有在两者上面有改进。DHCP用于查找合适的启动服务器,TFTP用于下载初始引导程序和附加文件。为了开始一个PXE自检会话,PXE固件广播一个带有明确的PXE选项DHCPDISCOVER包(扩展DHCPDISCOVER)到67/UDP端口(DHCP服务器端口)。PXE选项是PXE固件有PXE能力的鉴定,但是会被一般的DHCP服务忽略。当固件受到从这样的服务受到DHCPOFFER包时,它会通过要求其提供配置信息来自我配置。

当 PXE 重定向服务 (DHCP代理) 收到一个 扩展DHCPDISCOVER 包时,它会通过发送一个带有明确的PXE选项DHCPDISCOVER包到PXE客户机的68/UDP端口 (DHCP 客户机端口)来回答。 一个扩展DHCPDISCOVER包主要包含:
  • 一个PXE发现控制领域,以决定是使用多播,广播(网路)或单播来联系PXE启动服务器。 
  • 一个列出可用的PXE启动服务器类型的地址表。 
  • 一个代表每个一个PXE启动服务器类型的条目单。 
  • 一个带有带有提示用户按下哪一个键来看到启动菜单的PXE启动菜单。
  • 一个超过多长时间就启动第一启动菜单的超时数值。


一个DHCP代理服务可能在相同的主机上运行一个标准的DHCP服务器。尽管两个服务不可以共享67/UDP 端口,DHCP代理服务在4011/UDP 端口上运行,要求从客户端来的DHCPDISCOVER 包变成DHCPREQUEST 包。标准DHCP服务在其发送的DHCPOFFER 包中加入特殊的PXE 选项组合,这样PXE客户端知道可以在同一个主机的 4011/UDP 端口找到一个DHCP代理服务。

和一个正在启动系统的启动服务联系必须有一个IP地址(可能来自DHCP服务)。通过多播或单播一个带有特殊的PXE选项的 DHCPREQUEST 包(扩展DHCPREQUEST包)到 4011/UDP端口,或者广播(网路)这种包到 67/UDP端口。这种包包含有PXE启动服务类型和PXE启动层,一个守护进程允许运行多个启动服务类型。 一个扩展 DHCPREQUEST包可能是一个DHCPINFORM包。
 
简单总结一下,
  • PXE Client发送广播包请求DHCP分配IP地址DHCP 
  • Server回复请求,给出IP地址以及Boot 
  • Server的地址PXE下载引导文件执行引导程序

 
注:kickstart不在这里详述,参考地址:http://linux.vbird.org/linux_enterprise/0120installation.php

3.PXE + Kickstart自动化安装操作系统实践

前提准备:
  • DHCP服务器

 
  • TFTP服务器

 
  • KickStart所生成的ks.cfg配置文件

 
  • 一台存放系统安装文件的服务器,如NFS、HTTP、或FTP服务器

 
  • 一个带有PXE支持网卡的主机。


3.1 查看当前操作系统版本
cat /etc/redhat-release
CentOS release 6.7 (Final)
3.2 准备环境
  • 可以连接网络
  • 关闭防火墙

/etc/init.d/iptables stop

  • 关闭selinux,临时关闭会不生效,建议修改配置文件后,重启操作系统

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
3.3 安装DHCP服务
  • 安装DHCP

yum -y install dhcp

  • 修改配置文件

cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf #拷贝dhcp配置文件
#修改配置文件/etc/dhcpd/dhcpd.conf;添加如下
ddns-update-style none;
ignore client-updates;
subnet 10.0.0.0 netmask 255.255.255.0 {
range
10.0.0.100 10.0.0.200;
option
subnet-mask 255.255.255.0;
option
domain-name “internal.example.org”;
default-lease-time 600;
max-lease-time 7200;
next-server
10.0.0.3;
filename
“/pxelinux.0”;
}修改/etc/sysconfig/dhcpd配置文件,表示dhcp将只在eth0网络接口上提供DHCP服务cat /etc/sysconfig/dhcpd
# Command line options here
DHCPDARGS=eth0

  • 启动dhcpd服务

/etc/init.d/dhcpd start
DHCP注释:
ddns-update-style none; #设置与DHCP服务相关联的DNS数据动态更新模式,实际的DHCP应用中很少用改参数,设置为none即可。
ignore client-updates; #不允许客户机更新DNS记录
subnet 172.16.10.0 netmask
255.255.255.0 {
range 172.16.10.100 172.16.10.200; #可分配的起始IP-结束IP
option subnet-mask 255.255.255.0; #设置netmask
default-lease-time 21600; #设置默认的IP租用期限
max-lease-time 43200; #设置最大的IP租用期限
next-server 172.16.10.20; #告知客户端TFTP服务器ip
filename “/pxelinux.0”; #告知客户端从TFTP根目录下载pexlinux.0
}
3.4 安装TFTP服务
  • 安装tftp-server服务

yum -y install tftp-server

  • 修改配置文件/etc/xinetd.d/tftp disabled修改为no

service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server =/usr/sbin/in.tftpd
server_args = -s/var/lib/tftpboot #指定目录,保持默认,不用修改
disable = no #修改此处
per_source = 11
cps = 100 2
flags = IPv4
}

  • 启动服务xinetd代理服务

/etc/init.d/xinetd start

3.6 PXE配置引导

syslinux是一个功能强大的引导加载程序,而且兼容各种介质。SYSLINUX是一个小型的Linux操作系统,它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。如果没有找到pxelinux.0这个文件,可以安装一下。
  • 安装

syslinuxyum -y install syslinux

  • 复制配置文件

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp -a /var/www/html/centos6/isolinux/ * /var/lib/tftpboot/
mkdir -p /var/lib/tftpboot/pxelinux.cfg
cp /var/www/html/centos6/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

  • 添加如下,配置文件

cat /var/lib/tftpboot/pxelinux.cfg/default
default ks
prompt 0
label ks
kernel
vmlinuz
append
initrd=initrd.img ks=http://10.0.0.3/config/Centos6-ks.cfg ksdevice=eth0
# ksdevice=eth0代表当客户端有多块网卡的时候,要实现自动化需要设置从eth0安装,不指定的话,安装的时候系统会让你选择,那就不叫全自动化了。

  • PXE配置文件default解析

cat /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32 #默认加载一个菜单
#prompt 1 #开启会显示命令行’boot:’ 提示符。prompt值为0时则不提示,将会直接启动’default’参数中指定的内容
timeout 600#timeout时间是引导等待用户手动选择的时间,设为1可直接引导,单位为1/10秒。
display boot.msg
#菜单背景图片、标题、颜色。
menu background splash.jpg
menu title Welcome to CentOS 6.7!
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
menu color scrollbar 0 #ffffffff #00000000
#lable指定在boot:提示符下输入的关键字,比如boot:linux[ENTER],这个会启动lable
linux下标记的kernel和initrd.img文件
label linux#一个标签就是前面图片的一行选项。
menu
label ^Install or upgrade an existing system
menu
default
kernel
vmlinuz #指定要启动的内核。同样要注意路径,默认是/tftpboot目录
append
initrd=initrd.img #指定追加给内核的参数,initrd.img是一个最小的linux系统
label vesa
menu
label Install system with ^basic video driver
kernel
vmlinuz
append
initrd=initrd.img nomodeset
label rescue
menu
label ^Rescue installed system
kernel
vmlinuz
append
initrd=initrd.img rescue
label local
menu
label Boot from ^local drive
localboot
0xffff
label memtest86
menu
label ^Memory test
kernel
memtest
append –

  • 上传kscfg配置文件

grub-crypt #配置root使用密码,加入修改Centos6-ks.cfg文件
Password:
Retype password:
$6$006TOzR9rk18CPQw$t/xTyZEw60OWqAho.J1oj3PRo2ib93blCIlVuFCPc6/fuCADB02LKHfNV4x7jtpNAX98TK3K8Zpem8Qkv92111

  • 创建配置文件及优化脚本站点目录

mkdir /var/www/html/config

  • 查看文件

cat /var/www/html/config/Centos6-ks.cfg
install #安装
url –url=”http://10.0.0.3/centos6″ #系统文件地址,这里使用http
text #文本界面安装
lang en_US.UTF-8 #语言
keyboard us #键盘
zerombr #清空mbr
bootloader –location=mbr –driveorder=sda
–append=”crashkernel=auto rhgb quiet” #引导加载程序参数
network –bootproto=dhcp –device=eth1
–onboot=yes –noipv6 –hostname=CentOS6 #eth1网络配置
timezone –utc Asia/Shanghai #时区
authconfig –enableshadow –passalgo=sha512 #验证配置
rootpw–iscrypted $6$006TOzR9rk18CPQw$t/xTyZEw60OWqAho.J1oj3PRo2ib93blCIlVuFCPc6/fuCADB02LKHfNV4x7jtpNAX98TK3K8Zpem8Qkv92111
#root密码,使用grub-crypt生成
clearpart –all –initlabel #清空分区
part /boot –fstype=ext4 –asprimary –size=100 #分区/boot
100M
part swap –size=1500 #分区swap
1500M
part / –fstype=ext4 –grow –asprimary
–size=200 #分区/ 所有
firstboot –disable #关闭一系列服务
selinux –disabled
firewall –disabled
logging –level=info #日志记录等级info级别
reboot #重启
%packages #包组–软件名
@base
@compat-libraries
@debugging
@development
tree
nmap
sysstat
lrzsz
dos2unix
telnet
%post #安装完执行脚本
wget -O /tmp/optimization.sh http://10.0.0.3/config/optimization.sh
&>/dev/null #下载脚本,然后执行
/bin/sh /tmp/optimization.sh #执行脚本
%end


3.7 安装服务器

需要和pxe服务器内网同网段,开机通过dhcp自动获取,然后自动开始装机

12.png


13.png


14.png


15.png


===>到此,PXE+KickStart安装方式就结束了,图形化安装参考这里http://jcenter.idcos.com/?/article/26,是不是很麻烦呢?

CloudBoot如何从v1.0升级到v1.1?

CloudBoot凌枫 发表了文章 • 0 个评论 • 648 次浏览 • 2016-01-21 16:25 • 来自相关话题

第一步:更新Server和UI:编译文件安装的从这里下载更新:
源1:http://pan.baidu.com/s/1o6WJpZO 密码: i8z8  (md5:7c8791b4c68b7906dd18858b332909e5)
源2:https://github.com/idcos/osins ... g/1.1
 
源码安装的从这里下载更新:
1.从https://github.com/idcos/osinstall-server 获取最新server代码,重新编译(gb build)
2.从https://github.com/idcos/osinstall-ui 获取最新代码,重新编译(ember build --prod)
 
 
第二步:数据库升级,请执行以下SQL语句:ALTER TABLE `hardwares` ADD `source` VARCHAR(255) NULL , ADD `version` VARCHAR(255) NULL , ADD `status` ENUM('Pending', 'Success', 'Failure') NULL DEFAULT 'Success' ;
 
做完前面两步,即升级完毕! 
 
 
 
 
  查看全部
第一步:更新Server和UI:编译文件安装的从这里下载更新
源1:http://pan.baidu.com/s/1o6WJpZO 密码: i8z8  (md5:7c8791b4c68b7906dd18858b332909e5)
源2:https://github.com/idcos/osins ... g/1.1
 
源码安装的从这里下载更新
1.从https://github.com/idcos/osinstall-server 获取最新server代码,重新编译(gb build)
2.从https://github.com/idcos/osinstall-ui 获取最新代码,重新编译(ember build --prod)
 
 
第二步:数据库升级,请执行以下SQL语句:
ALTER TABLE `hardwares` ADD `source` VARCHAR(255) NULL , ADD `version` VARCHAR(255) NULL , ADD `status` ENUM('Pending', 'Success', 'Failure') NULL DEFAULT 'Success' ;

 
做完前面两步,即升级完毕! 
 
 
 
 
 

CloudBoot V1.1新特性

CloudBoot凌枫 发表了文章 • 0 个评论 • 476 次浏览 • 2016-01-21 16:20 • 来自相关话题

版本:v1.1
 
ChangeLog:
设置默认主页,直接访问http://localhost 即可访问主页
解决Server未启动时,访问主页白屏的问题
增加Server端成功启动后console输出"The server is running."信息提示
增加面向厂商的设备型号导入、导出功能
增加面向用户的硬件配置导入、导出功能
Agent上报设备型号时,增加校验其是否在硬件配置库
增加不支持低版本浏览器的信息提示
增加默认级别的日志输出
Agent增加开发者模式
 
如何升级到v1.1?
http://jcenter.idcos.com/?/article/24
 
  查看全部
版本:v1.1
 
ChangeLog:
设置默认主页,直接访问http://localhost 即可访问主页
解决Server未启动时,访问主页白屏的问题
增加Server端成功启动后console输出"The server is running."信息提示
增加面向厂商的设备型号导入、导出功能
增加面向用户的硬件配置导入、导出功能
Agent上报设备型号时,增加校验其是否在硬件配置库
增加不支持低版本浏览器的信息提示
增加默认级别的日志输出
Agent增加开发者模式
 
如何升级到v1.1?
http://jcenter.idcos.com/?/article/24
 
 

CloudBoot 安装操作系统流程

CloudBootSiffre 发表了文章 • 0 个评论 • 2286 次浏览 • 2016-01-20 18:52 • 来自相关话题

一、部署
 1.Linux系统环境依赖

当前安装环境是基于CentOS 6.7 update到最新,内核版本:2.6.32-573.el6.x86_64版本
用户需要下载对应的版本系统,然后安装并关闭iptables和selinux。
检查防火墙状态
# service iptables status
若防火墙已开启,请手动关闭
# service iptables stop
设置开机自启动(关闭)
# chkconfig iptables off
检查SELINUX状态
# sestatus
若提示为enabled则需要手动关闭SELINUX
# cat /etc/sysconfig/selinux # This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.SELINUXTYPE=targeted修改SELINUX=disabled,然后需要重启操作系统才能生效。
 
2.安装dhcp服务

网络启动依赖dhcp服务,并且需要配置pxe启动参数。
安装dhcp
# yum install dhcp -y
设置开机自启动
# chkconfig dhcpd on [size=13]#开启[/size]


配置dhcp服务,具体配置格式可参考默认的模板文件,网段根据自己的实际情况修改默认配置
#cat /etc/dhcp/dhcpd.conf

# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample #默认参考模板文件
# see 'man 5 dhcpd.conf'
示例配置
cat /etc/dhcp/dhcpd.confallow booting;
allow bootp;
ddns-update-style none;
ping-check true;
ping-timeout 3;
default-lease-time 1800;
max-lease-time 3600;
next-server 192.168.0.1;
filename "gpxelinux.0";
option domain-name-servers 192.168.0.1;
option root-path "192.168.0.1:/";
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.101 192.168.0.200;
option routers 192.168.0.1;
}3. 安装tftp服务
安装tftp服务和syslinux的tftpboot工具
# yum install tftp-server syslinux-tftpboot
设置开机自启动
# chkconfig xinetd on
配置tftp服务,设定tftp根目录为 /var/lib/tftpboot,修改disable = no
# cat /etc/xinetd.d/tftp# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no #修改此处为no
per_source = 11
cps = 100 2
flags = IPv4
}


4. 安装http服务

系统安装所需要的镜像源使用http的方式来提供,需要安装nginx/apache并下载安装介质然后导入ISO文件生成安装源。
导入rpm源
# rpm -ivh http://nginx.org/packages/cent ... h.rpm
安装nginx
# yum install nginx
设置开机自启动
# chkconfig nginx on
配置www服务,指定安装镜像源
# cat /etc/nginx/conf.d/default.confserver {
listen 80;
server_name localhost;
location / {
root /home/www; #配置路径
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}下载ISO文件并导入http目录
创建所需目录
# mkdir -p /home/www/iso /home/www/centos/6.7/os/x86_64/
获取ISO并指定下载目录
# wget -c -P /home/www/iso http://mirrors.aliyun.com/cent ... 1.iso
挂载ISO
# mount -o loop /home/www/iso/CentOS-6.7-x86_64-bin-DVD1.iso /media
复制到www服务对应目录
# rsync -az /media/ /home/www/centos/6.7/os/x86_64/
取消挂载
# umount /media注:YUM仓库详解见这里:http://jcenter.idcos.com/?/article/28 
 
5.安装dns服务

这里我们需要提供一套dns用作域名解析,如果内部环境已经有dns服务可以跳过此步骤。可以使用轻量级的dnsmasq来解决此问题,安装配置如下:# yum install dnsmasq
# chkconfig dnsmasq o
安装好以后需要增加hosts.conf配置文件,这里假设新增的域名是osinstall.idcos.net,ip地址是10.0.1.1# cat /etc/dnsmasq.conf
conf-dir=/etc/dnsmasq.d

# cat /etc/dnsmasq.d/hosts.conf
address=/osinstall.idcos.net/10.0.1.16.Server端部署

初始化数据
安装数据库
# yum install mysql mysql-server -y
启动并设置开机自启动
# service mysqld start
# chkconfig mysqld on
导入数据库表结构
# mysql -uroot < idcos-osinstall.sql
 部署server
修改配置文件idcos-os-install.json,配置数据库连接
"repo": {
"connection": "用户名:密码@tcp(localhost:3306)/idcos-osinstall?charset=utf8&parseTime=True&loc=Local"
}, #mysql默认无密码,可以不修改
修改配置文件idcos-os-install.json,设置PXE配置文件目录
"osInstall":{
"pxeConfigDir":"/var/lib/tftpboot/pxelinux.cfg"
}
运行可执行文件,执行文件会监听8083端口
# chmod 755 os-install-server
# nohup ./os-install-server &>os-install-server.log &

 7.部署UI前端
解压idcos-osinstall-ui.tar.gz到web server目录设置虚拟目录规则,以nginx为例
server {
listen 80 default_server;
server_name _;
include /etc/nginx/default.d/*.conf;
location / {
root /home/www;
index index.html index.htm;
}
location /api/ {
proxy_pass http://127.0.0.1:8083;
}
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
部署完成后,访问地址:http://ip/#/dashboard/main 
 二、BootOS部署

搭建BootOS启动环境,需要配置tftp启动文件,内容如下:# cat /var/lib/tftpboot/pxelinux.cfg/default

DEFAULT menu.c32
PROMPT 0
TIMEOUT 30

LABEL bootos
MENU LABEL ^BootOS
MENU DEFAULT
KERNEL http://osinstall.idcos.net/bootos/vmlinuz
APPEND initrd=http://osinstall.idcos.net/bootos/initrd.img console=tty0 selinux=0 biosdevname=0 SERVER_ADDR=http://osinstall.idcos.net
IPAPPEND 2
#以上URL均要修改为本地的url参数说明:
设定参数TIMEOUT 30,网络启动以后默认等待3秒钟自动进入BootOS使用http方式来加载vmlinuz和initrd.img,取代传统的tftp加载方式,大文件效率更高增加biosdevname=0参数,关闭了centos 6下面网卡自动重命名的情况,使用ethX的命名规范设定参数SERVER_ADDR=http://osinstall.idcos.net,指定server端的地址,agent会解析此参数并向server端发起请求,请根据实际情况修改设定IPAPPEND 2参数,一些服务器拥有多个网络接口,可能无法将BIOS所知的第一个网络接口设定为eth0,这将导致安装程序使用与PXE启动时不同的网络接口。增加此参数默认会使用PXE传递的网卡作为默认网络接口。

注:若果你是想定制自己特定的模板,请参考这里:http://idcos.github.io/osinstall-doc/os/系统模板定制规范.html

三、使用部署好的UI

上述工作都顺利完成之后,我们就可以参照这里:http://idcos.com/X86/doc/use/部署/Linux系统环境依赖.html就能成功安装操作系统功能了。 查看全部
一、部署
 1.Linux系统环境依赖

当前安装环境是基于
CentOS 6.7 update到最新,内核版本:2.6.32-573.el6.x86_64版本

用户需要下载对应的版本系统,然后安装并关闭iptables和selinux。
  • 检查防火墙状态

# service iptables status

  • 若防火墙已开启,请手动关闭

# service iptables stop

  • 设置开机自启动(关闭)

# chkconfig iptables off 

  • 检查SELINUX状态

# sestatus

  • 若提示为enabled则需要手动关闭SELINUX

# cat /etc/sysconfig/selinux 
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted修改SELINUX=disabled,然后需要重启操作系统才能生效。
 
2.安装dhcp服务

网络启动依赖dhcp服务,并且需要配置pxe启动参数。
  • 安装dhcp

# yum install dhcp -y

  • 设置开机自启动

# chkconfig dhcpd on  [size=13]#开启[/size]


  • 配置dhcp服务,具体配置格式可参考默认的模板文件,网段根据自己的实际情况修改
  • 默认配置

#cat /etc/dhcp/dhcpd.conf

# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample #默认参考模板文件
# see 'man 5 dhcpd.conf'

  • 示例配置

cat /etc/dhcp/dhcpd.conf
allow booting;
allow bootp;
ddns-update-style none;
ping-check true;
ping-timeout 3;
default-lease-time 1800;
max-lease-time 3600;
next-server 192.168.0.1;
filename "gpxelinux.0";
option domain-name-servers 192.168.0.1;
option root-path "192.168.0.1:/";
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.101 192.168.0.200;
option routers 192.168.0.1;
}
3. 安装tftp服务
  • 安装tftp服务和syslinux的tftpboot工具

# yum install tftp-server syslinux-tftpboot

  • 设置开机自启动

# chkconfig xinetd on

  • 配置tftp服务,设定tftp根目录为 /var/lib/tftpboot,修改disable = no

# cat /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no #修改此处为no
per_source = 11
cps = 100 2
flags = IPv4
}


4. 安装http服务

系统安装所需要的镜像源使用http的方式来提供,需要安装nginx/apache并下载安装介质然后导入ISO文件生成安装源。
  • 导入rpm源

# rpm -ivh http://nginx.org/packages/cent ... h.rpm

  • 安装nginx

# yum install nginx

  • 设置开机自启动

# chkconfig nginx on

  • 配置www服务,指定安装镜像源

# cat /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
location / {
root /home/www; #配置路径
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
下载ISO文件并导入http目录
  • 创建所需目录

# mkdir -p /home/www/iso /home/www/centos/6.7/os/x86_64/

  • 获取ISO并指定下载目录

# wget -c -P /home/www/iso http://mirrors.aliyun.com/cent ... 1.iso

  • 挂载ISO

# mount -o loop /home/www/iso/CentOS-6.7-x86_64-bin-DVD1.iso /media

  • 复制到www服务对应目录

# rsync -az /media/ /home/www/centos/6.7/os/x86_64/

  • 取消挂载

# umount /media
注:YUM仓库详解见这里:http://jcenter.idcos.com/?/article/28 
 
5.安装dns服务

这里我们需要提供一套dns用作域名解析,如果内部环境已经有dns服务可以跳过此步骤。可以使用轻量级的dnsmasq来解决此问题,安装配置如下:
# yum install dnsmasq 
# chkconfig dnsmasq o

安装好以后需要增加hosts.conf配置文件,这里假设新增的域名是osinstall.idcos.net,ip地址是10.0.1.1
# cat /etc/dnsmasq.conf 
conf-dir=/etc/dnsmasq.d

# cat /etc/dnsmasq.d/hosts.conf
address=/osinstall.idcos.net/10.0.1.1
6.Server端部署

初始化数据
  • 安装数据库

# yum install mysql mysql-server -y

  • 启动并设置开机自启动

# service mysqld start
# chkconfig mysqld on

  • 导入数据库表结构

# mysql -uroot < idcos-osinstall.sql

 部署server
  • 修改配置文件idcos-os-install.json,配置数据库连接

"repo": {
"connection": "用户名:密码@tcp(localhost:3306)/idcos-osinstall?charset=utf8&parseTime=True&loc=Local"
}, #mysql默认无密码,可以不修改

  • 修改配置文件idcos-os-install.json,设置PXE配置文件目录

"osInstall":{
"pxeConfigDir":"/var/lib/tftpboot/pxelinux.cfg"
}

  • 运行可执行文件,执行文件会监听8083端口

# chmod 755 os-install-server
# nohup ./os-install-server &>os-install-server.log &

 7.部署UI前端
  • 解压idcos-osinstall-ui.tar.gz到web server目录
  • 设置虚拟目录规则,以nginx为例

server {
listen 80 default_server;
server_name _;
include /etc/nginx/default.d/*.conf;
location / {
root /home/www;
index index.html index.htm;
}
location /api/ {
proxy_pass http://127.0.0.1:8083;
}
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}


 二、BootOS部署

搭建BootOS启动环境,需要配置tftp启动文件,内容如下:
# cat /var/lib/tftpboot/pxelinux.cfg/default

DEFAULT menu.c32
PROMPT 0
TIMEOUT 30

LABEL bootos
MENU LABEL ^BootOS
MENU DEFAULT
KERNEL http://osinstall.idcos.net/bootos/vmlinuz
APPEND initrd=http://osinstall.idcos.net/bootos/initrd.img console=tty0 selinux=0 biosdevname=0 SERVER_ADDR=http://osinstall.idcos.net
IPAPPEND 2
#以上URL均要修改为本地的url
参数说明:
  • 设定参数TIMEOUT 30,网络启动以后默认等待3秒钟自动进入BootOS
  • 使用http方式来加载vmlinuz和initrd.img,取代传统的tftp加载方式,大文件效率更高
  • 增加biosdevname=0参数,关闭了centos 6下面网卡自动重命名的情况,使用ethX的命名规范
  • 设定参数SERVER_ADDR=http://osinstall.idcos.net,指定server端的地址,agent会解析此参数并向server端发起请求,请根据实际情况修改
  • 设定IPAPPEND 2参数,一些服务器拥有多个网络接口,可能无法将BIOS所知的第一个网络接口设定为eth0,这将导致安装程序使用与PXE启动时不同的网络接口。增加此参数默认会使用PXE传递的网卡作为默认网络接口。


注:若果你是想定制自己特定的模板,请参考这里:http://idcos.github.io/osinstall-doc/os/系统模板定制规范.html

三、使用部署好的UI

上述工作都顺利完成之后,我们就可以参照这里:http://idcos.com/X86/doc/use/部署/Linux系统环境依赖.html就能成功安装操作系统功能了。

CloudBoot 有demo吗?

CloudBootSiffre 发表了文章 • 0 个评论 • 517 次浏览 • 2016-01-20 16:02 • 来自相关话题

有DEMO的,在这:
 
http://demo.idcos.com:8081/#/dashboard/main
 
PS:建议使用最新版的Google Chrome浏览器访问,以获得最佳体验
有DEMO的,在这:
 
http://demo.idcos.com:8081/#/dashboard/main
 
PS:建议使用最新版的Google Chrome浏览器访问,以获得最佳体验

CloudBoot云装机新手指南

CloudBootSiffre 发表了文章 • 0 个评论 • 1565 次浏览 • 2016-01-20 16:00 • 来自相关话题

1.想知道CloudBoot是什么吗?http://jcenter.idcos.com/?/article/17
 
2.想体验一下Demo吗?http://jcenter.idcos.com/?/article/21
 
3.想自己下载尝试一下吗?http://jcenter.idcos.com/?/article/18
 
4.想看看FAQ吗?http://jcenter.idcos.com/?/article/19
 
6.想看视频教程吗?http://v.youku.com/v_show/id_XMTU2ODM2Njk2OA==.html 
 
7.有问题可以加QQ群咨询 http://jcenter.idcos.com/?/article/16
 
8.有什么不懂、不会的问题,可以到这里来咨询哦:http://jcenter.idcos.com/?/topic/问题反馈 查看全部
1.想知道CloudBoot是什么吗?http://jcenter.idcos.com/?/article/17
 
2.想体验一下Demo吗?http://jcenter.idcos.com/?/article/21
 
3.想自己下载尝试一下吗?http://jcenter.idcos.com/?/article/18
 
4.想看看FAQ吗?http://jcenter.idcos.com/?/article/19
 
6.想看视频教程吗?http://v.youku.com/v_show/id_XMTU2ODM2Njk2OA==.html 
 
7.有问题可以加QQ群咨询 http://jcenter.idcos.com/?/article/16
 
8.有什么不懂、不会的问题,可以到这里来咨询哦:http://jcenter.idcos.com/?/topic/问题反馈

CloudBoot 常见问题列表

CloudBootSiffre 发表了文章 • 0 个评论 • 6356 次浏览 • 2016-01-20 16:00 • 来自相关话题

<ol>
<li><p>从哪里下载?</p>
<p> 下载地址:<a href="http://idcos.com/store/cloudbo ... t%3Ba href="http://idcos.com/store/cloudbo ... gt%3B
</li>
<li><p>下载后如何安装?</p>
<p> 一键部署手册:<a href="http://idcos.github.io/osinsta ... t%3Ba href="http://idcos.github.io/osinsta ... gt%3B
</li>
<li><p>编译环境怎么搭建?</p>
<p> 我们的开发环境是基于centos 6 x86_64位系统,理论上6.x任意版本的centos/rhel都是支持的。如需构建开发环境,参考:<a href="https://github.com/idcos/osins ... t%3Ba href="https://github.com/idcos/osins ... gt%3B
</li>
<li><p>对浏览器的支持如何?</p>
<p> 目前支持Chrome、IE9+、Firefox、Safari等主流浏览器。推荐使用最新版Chrome,以获取最佳使用体验。</p>
</li>
<li><p>是否支持跨网段部署?</p>
<p> 跨网段安装操作系统是可以实现的,但是需要依赖一些前提条件。
网络是vlan模式,需要配置交换机的dhcp relay,即ip-helper address,并将每个vlan网段信息加入dhcp资源池
网络是trunk模式,需要配置交换机的native vlan,并将native vlan网段信息加入dhcp资源池</p>
</li>
<li><p>是否支持32位操作系统?</p>
<p> 目前我们提供的程序均是在64位操作系统下开发,如果需要使用32位操作系统,请自行下载源代码进行编译。参考:<a href="https://github.com/idcos/osins ... t%3Ba href="https://github.com/idcos/osins ... gt%3B
</li>
<li><p>对UEFI的支持如何呢?</p>
<p> 目前我们开发的BootOS暂不支持UEFI引导,后续可以考虑增加这方面的功能。</p>
</li>
<li><p>进入BootOS以后是否是自动注册的?</p>
<p> 是的,服务器加电,进入BootOS后,会自动将SN等信息注册到【资源池管理】【新发现设备列表】</p>
</li>
<li><p>可以支持哪些硬件配置?</p>
<p> 我们正在和各大厂商进行合作,适配国内主流厂商的服务器。目前可以提供dell/huawei/hp/inspur等硬件配置工具包,请用户帮我们测试和反馈问题。</p>
</li>
<li><p>对Windows系统支持如何?</p>
<p> 目前已支持Windows Server 2012 R2、Windows Server 2008 R2,后续会不断支持其他版本。</p>
</li>
<li><p>为啥我的客户机获取不到SN?</p>
<p> 首先在客户机执行一下<code>dmidecode -s system-serial-number</code>,获取不到的话联系厂商报修,需要将SN重新写入到主板里(服务器厂商有相应的工具)。</p>
</li>
<li><p>为啥我的客户机获取的服务器厂商名称是<code>To</code>(或其他)?</p>
<p> 主板有问题,需要联系厂商报修重新刷一下。或者先不选择硬件配置模板,略过硬件配置安装这步。</p>
</li>
<li><p>我系统模板里的%post不执行?</p>
<p> 很多人问为什么%post不执行,是否执行要看一些配置是否生效,比如PS1。其实不是post没执行,是没有进度上报。进度上报依赖dmidecode获取sn和curl发送http post请求。如果你在post里面没安装dmidecode和curl,那又如何上报进度呢?</p>
</li>
<li><p>为啥<code>/etc/sysconfig/network</code>没改?</p>
<p> %post没执行的话,<code>/etc/sysconfig/network</code>肯定不会改的,没装curl获取不了网络配置,自然不会改。排查方法,修改%post部分代码如下,重定向标准错误和标准输出到<code>/root/post.log</code>,安装好系统以后在去分析这个日志。</p>
<pre><code class="lang-bash"> %post
exec &amp;>/root/post.log
set -x</code></pre>
</li>
<li><p>执行gb build时报“qiniu/iconv”相关的错误?</p>
<p> 先执行<code>go get -u github.com/qiniu/iconv</code>,再执行<code>gb build</code></p>
</li>
<li><p>怎么修改硬件配置模板里的脚本内容?</p>
<p> 进这个页面可以修改:<a href="http://localhost/%23/dashboard ... t%3Ba href="http://localhost/%23/dashboard ... gt%3B
</li>
<li><p>怎么连接mysql?</p>
<pre><code class="lang-bash"> /opt/cloudboot/usr/bin/mysql -h127.0.0.1 -uroot</code></pre>
</li>
<li><p>为什么windows系统已安装完,进度还没变?</p>
<p> windows安装的逻辑是修改完主机名和ip以后要检查网络是否ping的通,因为后面还要上报进度,如果和服务端连不上就没办法上报了。所以在设置windows ip的时候确保此ip可用,否则的话安装好系统以后修改完ip不通,进度就会一直卡住,不会往下走。</p>
</li>
<li><p>v1.3安装windows时可以加载其他驱动吗?</p>
<p> 可以,请把把需要安装的驱动准备好,放到 <code>/opt/cloudboot/home/samba/windows/drivers/winpe/</code> 下,各驱动分别放置在各自的子目录。agent会自动加载。</p>
</li>
<li><p>多IP环境和没有网关的机器如何安装一键部署工具</p>
<p> 如果你的机器配置了多个ip,例如一个是公网出口,另一个是私网用来装机,或者只配了一个ip但是没有配置网关。在这种场景下安装一键部署工具时,需要指定用哪个ip来做server。</p>
<pre><code class="lang-bash"> IP=192.168.0.1 rpm -ivh cloudboot-x.x-x.x86_64.rpm</code></pre>
</li>
<li><p>使用 VirtualBox 虚拟机通过 PXE 方式安装操作系统</p>
<p> VirtualBox 默认的网卡rom和gpxe的兼容性不好,需要VirtualBox安装扩展工具包,并修改网卡rom为PXE-Intel.rom。以Windows环境为例,进行如下配置:</p>
<pre><code class="lang-bash"> "C:\Program Files\Oracle\VirtualBox\vboxmanage" setextradata vm_name VBoxInternal/Devices/pcbios/0/Config/LanBootRom "C:\Program Files\Oracle\VirtualBox\ExtensionPacks\Oracle_VM_VirtualBox_Extension_Pack\PXE-Intel.rom" </code></pre>
<li><p>如何修改windows模板密码</p>
<p> 方案1. PlainText改为true,使用明文密码; 方案2. 在winconfig调用post脚本的时候用net user改; 方案3. 用windows aik生成加密的密码</p>
</li>
</ol> 查看全部
<ol>
<li><p>从哪里下载?</p>
<p> 下载地址:<a href="http://idcos.com/store/cloudbo ... t%3Ba href="http://idcos.com/store/cloudbo ... gt%3B
</li>
<li><p>下载后如何安装?</p>
<p> 一键部署手册:<a href="http://idcos.github.io/osinsta ... t%3Ba href="http://idcos.github.io/osinsta ... gt%3B
</li>
<li><p>编译环境怎么搭建?</p>
<p> 我们的开发环境是基于centos 6 x86_64位系统,理论上6.x任意版本的centos/rhel都是支持的。如需构建开发环境,参考:<a href="https://github.com/idcos/osins ... t%3Ba href="https://github.com/idcos/osins ... gt%3B
</li>
<li><p>对浏览器的支持如何?</p>
<p> 目前支持Chrome、IE9+、Firefox、Safari等主流浏览器。推荐使用最新版Chrome,以获取最佳使用体验。</p>
</li>
<li><p>是否支持跨网段部署?</p>
<p> 跨网段安装操作系统是可以实现的,但是需要依赖一些前提条件。
网络是vlan模式,需要配置交换机的dhcp relay,即ip-helper address,并将每个vlan网段信息加入dhcp资源池
网络是trunk模式,需要配置交换机的native vlan,并将native vlan网段信息加入dhcp资源池</p>
</li>
<li><p>是否支持32位操作系统?</p>
<p> 目前我们提供的程序均是在64位操作系统下开发,如果需要使用32位操作系统,请自行下载源代码进行编译。参考:<a href="https://github.com/idcos/osins ... t%3Ba href="https://github.com/idcos/osins ... gt%3B
</li>
<li><p>对UEFI的支持如何呢?</p>
<p> 目前我们开发的BootOS暂不支持UEFI引导,后续可以考虑增加这方面的功能。</p>
</li>
<li><p>进入BootOS以后是否是自动注册的?</p>
<p> 是的,服务器加电,进入BootOS后,会自动将SN等信息注册到【资源池管理】【新发现设备列表】</p>
</li>
<li><p>可以支持哪些硬件配置?</p>
<p> 我们正在和各大厂商进行合作,适配国内主流厂商的服务器。目前可以提供dell/huawei/hp/inspur等硬件配置工具包,请用户帮我们测试和反馈问题。</p>
</li>
<li><p>对Windows系统支持如何?</p>
<p> 目前已支持Windows Server 2012 R2、Windows Server 2008 R2,后续会不断支持其他版本。</p>
</li>
<li><p>为啥我的客户机获取不到SN?</p>
<p> 首先在客户机执行一下<code>dmidecode -s system-serial-number</code>,获取不到的话联系厂商报修,需要将SN重新写入到主板里(服务器厂商有相应的工具)。</p>
</li>
<li><p>为啥我的客户机获取的服务器厂商名称是<code>To</code>(或其他)?</p>
<p> 主板有问题,需要联系厂商报修重新刷一下。或者先不选择硬件配置模板,略过硬件配置安装这步。</p>
</li>
<li><p>我系统模板里的%post不执行?</p>
<p> 很多人问为什么%post不执行,是否执行要看一些配置是否生效,比如PS1。其实不是post没执行,是没有进度上报。进度上报依赖dmidecode获取sn和curl发送http post请求。如果你在post里面没安装dmidecode和curl,那又如何上报进度呢?</p>
</li>
<li><p>为啥<code>/etc/sysconfig/network</code>没改?</p>
<p> %post没执行的话,<code>/etc/sysconfig/network</code>肯定不会改的,没装curl获取不了网络配置,自然不会改。排查方法,修改%post部分代码如下,重定向标准错误和标准输出到<code>/root/post.log</code>,安装好系统以后在去分析这个日志。</p>
<pre><code class="lang-bash"> %post
exec &amp;>/root/post.log
set -x</code></pre>
</li>
<li><p>执行gb build时报“qiniu/iconv”相关的错误?</p>
<p> 先执行<code>go get -u github.com/qiniu/iconv</code>,再执行<code>gb build</code></p>
</li>
<li><p>怎么修改硬件配置模板里的脚本内容?</p>
<p> 进这个页面可以修改:<a href="http://localhost/%23/dashboard ... t%3Ba href="http://localhost/%23/dashboard ... gt%3B
</li>
<li><p>怎么连接mysql?</p>
<pre><code class="lang-bash"> /opt/cloudboot/usr/bin/mysql -h127.0.0.1 -uroot</code></pre>
</li>
<li><p>为什么windows系统已安装完,进度还没变?</p>
<p> windows安装的逻辑是修改完主机名和ip以后要检查网络是否ping的通,因为后面还要上报进度,如果和服务端连不上就没办法上报了。所以在设置windows ip的时候确保此ip可用,否则的话安装好系统以后修改完ip不通,进度就会一直卡住,不会往下走。</p>
</li>
<li><p>v1.3安装windows时可以加载其他驱动吗?</p>
<p> 可以,请把把需要安装的驱动准备好,放到 <code>/opt/cloudboot/home/samba/windows/drivers/winpe/</code> 下,各驱动分别放置在各自的子目录。agent会自动加载。</p>
</li>
<li><p>多IP环境和没有网关的机器如何安装一键部署工具</p>
<p> 如果你的机器配置了多个ip,例如一个是公网出口,另一个是私网用来装机,或者只配了一个ip但是没有配置网关。在这种场景下安装一键部署工具时,需要指定用哪个ip来做server。</p>
<pre><code class="lang-bash"> IP=192.168.0.1 rpm -ivh cloudboot-x.x-x.x86_64.rpm</code></pre>
</li>
<li><p>使用 VirtualBox 虚拟机通过 PXE 方式安装操作系统</p>
<p> VirtualBox 默认的网卡rom和gpxe的兼容性不好,需要VirtualBox安装扩展工具包,并修改网卡rom为PXE-Intel.rom。以Windows环境为例,进行如下配置:</p>
<pre><code class="lang-bash"> "C:\Program Files\Oracle\VirtualBox\vboxmanage" setextradata vm_name VBoxInternal/Devices/pcbios/0/Config/LanBootRom "C:\Program Files\Oracle\VirtualBox\ExtensionPacks\Oracle_VM_VirtualBox_Extension_Pack\PXE-Intel.rom" </code></pre>
<li><p>如何修改windows模板密码</p>
<p> 方案1. PlainText改为true,使用明文密码; 方案2. 在winconfig调用post脚本的时候用net user改; 方案3. 用windows aik生成加密的密码</p>
</li>
</ol>

CloudBoot 怎么下载?

CloudBootSiffre 发表了文章 • 0 个评论 • 890 次浏览 • 2016-01-20 15:50 • 来自相关话题

1.如果想看下演示demo,请直接访问:
http://demo.idcos.com:8081/#/dashboard/main 

2.如果您想装机,请下载一键安装包安装部署:
一键安装包下载:http://idcos.com/store/cloudboot
一键部署手册:http://idcos.github.io/osinsta ... .html

3.如果您是开发者,需要做二次开发,请从Github上下载源代码,自己构建开发环境。
参考:https://github.com/idcos/osinstall 
附开发手册:http://idcos.github.io/osinstall-doc 

详见产品文档:http://idcos.com/store/cloudboot
  查看全部
1.如果想看下演示demo,请直接访问:
http://demo.idcos.com:8081/#/dashboard/main 

2.如果您想装机,请下载一键安装包安装部署:
一键安装包下载:http://idcos.com/store/cloudboot
一键部署手册:http://idcos.github.io/osinsta ... .html

3.如果您是开发者,需要做二次开发,请从Github上下载源代码,自己构建开发环境。
参考:https://github.com/idcos/osinstall 
附开发手册:http://idcos.github.io/osinstall-doc 

详见产品文档:http://idcos.com/store/cloudboot
 

CloudBoot 是什么?

CloudBootSiffre 发表了文章 • 0 个评论 • 3290 次浏览 • 2016-01-20 15:48 • 来自相关话题

CloudBoot 云启装机平台是由云霁科技开发的开源X86服务器配置安装工具,俗称运维人员的“番茄花园”。云霁科技以运维行业的用户痛点和需求为出发点,融合开源软件、互联网服务器运维经验和各大服务器厂商在运维工具的积累,实现统一全自动的X86服务器裸机配置和操作,并联合国内各大服务器厂商,从源头解决问题,形成物理服务器的生产、测试、交付的最佳实践。

对物理服务器的运维人员而言,不需再关心不同品牌类型的服务器和操作系统,只需专注于资源需求。安装1000台不同品牌和不同操作系统的服务器,达到“番茄花园”安装1台windows类似的效果,服务器上架后即装即用。        

一、起源和出发点:

        在Windows XP的时代,众多小白用户安装PC操作系统的需求和痛苦,催生了“番茄花园”这样的全自动一键装机工具的诞生。而在我们运维行业,大家都是专业人士,但每天面对无数应用、软件、硬件的运维问题,反而容易忽视一些经常面对的问题和痛点。

        以x86物理机为例,无论是互联网企业、传统企业还是云计算公司,都需要面对物理机的安装配置问题。物理机的安装配置分为服务器硬件配置和操作系统安装两个部分:

        1.操作系统安装复杂:尽管有PXE这样的网络安装操作方案,但缺乏简单易用的安装和管理界面与配套的CMDB ,最多只能说是半自动化。

        2.物理机硬件配置全手工:安装之前经常需要人工改BIOS的参数、划分RAID卡、配置带外管理卡IP。这部分的工作,今天大部分企业还是由运维人员全人工配置,非常繁琐。

        硬件种类繁多并且频繁升级,每次企业购买新品牌或者新型号的服务器,都需要重新去适配硬件,调整安装系统的相关参数,遇到问题折腾是常事,长期的维护成本非常大。

        随着云计算和x86的普及,面对大规模应用上线,这种传统的物理机交付带来的滞后性会成为制约业务发展的瓶颈,更需要一套类似“番茄花园”这样的全自动安装和交付系统,并解决标准化和自动化问题,这正是我们这套idcos bare server(裸机安装配置工具)出发点。

二、目标和特色:

        以运维行业的用户痛点和需求为出发点,融合开源软件、互联网服务器运维经验和各大服务器厂商在运维工具的积累,实现统一全自动的x86服务器裸机配置和操作,并联合国内各大服务器厂商,从源头解决问题,形成物理服务器的生产、测试、交付的最佳实践。

        对物理服务器的运维人员而言,不需要再关心不同品牌类型的服务器和操作系统,只需要专注于资源需求。安装1000台不同品牌和不同操作系统的服务器,达到“番茄花园”安装1台windows类似的效果,服务器上架后即装即用。

        产品特点如下:
 
        1.服务器上架加电后,无需人工干预,实现从硬件配置、操作系统安装、主机名IP配置等完全闭环的自动化。

        2.支持主流的x86服务器的硬件配置功能(包括RAID/OOB/BIOS等),联合国内硬件厂商整合,支持主流的服务器品牌。

        3.基于标准的IPMI接口通过带外对服务器进行控制安装,下一个版本还会支持下一代的Redfish协议。

        4.支持企业级操作系统的自动化安装配置,包括RedHat/CentOS/SUSE等;自带简易的CMDB,可用于资产管理。
 
        5.支持一键安装部署,一分钟时间搞定一周的工作。

        6.支持在线或者离线升级,也灵活的允许用户自定义配置。

        7.完全免费开源,支持二次开发。
 
支持厂商:
华为、H3C、Dell、HP、浪潮、IBM、联想等

支持系统:
RedHat、CentOS、SUSE、Ubuntu、Windows Server 2012、Windows Server2008、VMware Esxi等
 
免费下载地址:http://idcos.com/store/cloudboot
  查看全部
CloudBoot 云启装机平台是由云霁科技开发的开源X86服务器配置安装工具,俗称运维人员的“番茄花园”。云霁科技以运维行业的用户痛点和需求为出发点,融合开源软件、互联网服务器运维经验和各大服务器厂商在运维工具的积累,实现统一全自动的X86服务器裸机配置和操作,并联合国内各大服务器厂商,从源头解决问题,形成物理服务器的生产、测试、交付的最佳实践。

对物理服务器的运维人员而言,不需再关心不同品牌类型的服务器和操作系统,只需专注于资源需求。安装1000台不同品牌和不同操作系统的服务器,达到“番茄花园”安装1台windows类似的效果,服务器上架后即装即用。        

一、起源和出发点:

        在Windows XP的时代,众多小白用户安装PC操作系统的需求和痛苦,催生了“番茄花园”这样的全自动一键装机工具的诞生。而在我们运维行业,大家都是专业人士,但每天面对无数应用、软件、硬件的运维问题,反而容易忽视一些经常面对的问题和痛点。

        以x86物理机为例,无论是互联网企业、传统企业还是云计算公司,都需要面对物理机的安装配置问题。物理机的安装配置分为服务器硬件配置和操作系统安装两个部分:

        1.操作系统安装复杂:尽管有PXE这样的网络安装操作方案,但缺乏简单易用的安装和管理界面与配套的CMDB ,最多只能说是半自动化。

        2.物理机硬件配置全手工:安装之前经常需要人工改BIOS的参数、划分RAID卡、配置带外管理卡IP。这部分的工作,今天大部分企业还是由运维人员全人工配置,非常繁琐。

        硬件种类繁多并且频繁升级,每次企业购买新品牌或者新型号的服务器,都需要重新去适配硬件,调整安装系统的相关参数,遇到问题折腾是常事,长期的维护成本非常大。

        随着云计算和x86的普及,面对大规模应用上线,这种传统的物理机交付带来的滞后性会成为制约业务发展的瓶颈,更需要一套类似“番茄花园”这样的全自动安装和交付系统,并解决标准化和自动化问题,这正是我们这套idcos bare server(裸机安装配置工具)出发点。

二、目标和特色:

        以运维行业的用户痛点和需求为出发点,融合开源软件、互联网服务器运维经验和各大服务器厂商在运维工具的积累,实现统一全自动的x86服务器裸机配置和操作,并联合国内各大服务器厂商,从源头解决问题,形成物理服务器的生产、测试、交付的最佳实践。

        对物理服务器的运维人员而言,不需要再关心不同品牌类型的服务器和操作系统,只需要专注于资源需求。安装1000台不同品牌和不同操作系统的服务器,达到“番茄花园”安装1台windows类似的效果,服务器上架后即装即用。

        产品特点如下:
 
        1.服务器上架加电后,无需人工干预,实现从硬件配置、操作系统安装、主机名IP配置等完全闭环的自动化。

        2.支持主流的x86服务器的硬件配置功能(包括RAID/OOB/BIOS等),联合国内硬件厂商整合,支持主流的服务器品牌。

        3.基于标准的IPMI接口通过带外对服务器进行控制安装,下一个版本还会支持下一代的Redfish协议。

        4.支持企业级操作系统的自动化安装配置,包括RedHat/CentOS/SUSE等;自带简易的CMDB,可用于资产管理。
 
        5.支持一键安装部署,一分钟时间搞定一周的工作。

        6.支持在线或者离线升级,也灵活的允许用户自定义配置。

        7.完全免费开源,支持二次开发。
 
支持厂商:
华为、H3C、Dell、HP、浪潮、IBM、联想等

支持系统:
RedHat、CentOS、SUSE、Ubuntu、Windows Server 2012、Windows Server2008、VMware Esxi等
 
免费下载地址:http://idcos.com/store/cloudboot