海运的博客

Centos安装TFTP/NFS/PXE服务器网络引导安装系统

发布时间:November 3, 2012 // 分类:PXE // No Comments

客户端网卡要求支持以PXE启动,配置都在服务端进行,通过PXE网络启动安装系统流程:

客户端以PXE启动发送DHCP请求;
服务器DHCP应答,包括客户端的IP地址,引导文件所在TFTP服务器;
客户端通过TFTP会话下载网络引导文件;
进入PXE引导菜单选项,加载镜像启动安装进程。

1.安装DHCP服务器:

yum install dhcp

DHCP配置:

cat /etc/dhcpd.conf 
#www.haiyun.me
ddns-update-style none;
ignore client-updates; 
default-lease-time           259200;
max-lease-time               518400;
option routers               192.168.1.254;
option domain   www.haiyun.me;
option domain-name-servers   192.168.1.254;

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.101 192.168.1.200; 
    next-server 192.168.1.3; #TFTP服务器
    allow booting;
    allow bootp;
    filename "pxelinux.0"; #启动引导文件,后续会介绍。
}

host pc {
    hardware ethernet    08:00:27:11:EB:C2;
    fixed-address        192.168.1.130;
    option root-path     "/client/pc01";
    }

2.安装TFTP服务器:

yum install tftp-server

TFTP以xinetd启动,配置如下:

cat /etc/xinetd.d/tftp 
service tftp
{
    socket_type        = dgram
    protocol        = udp
    wait            = yes
    user            = root
    server            = /usr/sbin/in.tftpd
    server_args        = -s /tftpboot
    disable            = no
    per_source        = 11
    cps            = 100 2
    flags            = IPv4
}

3.NFS服务器安装,挂载ISO安装光盘:

yum install nfs
mount -t iso9660 -o loop /dev/cdrom /mnt/
cp /mnt/images/pxeboot/* /tftpboot/

NFS配置:

cat /etc/exports 
/mnt *(rw,no_root_squash)

4.安装syslinux配置网络启动,相当于GRUB。

yum install syslinux
cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

5.PXE引导菜单配置,相当于GRUB配置文件,可根据客户端MAC定义名称。

cp /usr/lib/syslinux/menu.c32 /tftpboot/
mkdir /tftpboot/pxelinux.cfg/
cat /tftpboot/pxelinux.cfg/default 
timeout 100
default menu.c32

menu title ########## PXE Boot Menu ##########
label 1
   menu label ^1) Install CentOS 6
   kernel vmlinuz
   append initrd=initrd.img method=nfs:192.168.1.3:/mnt
   #method为安装光盘目录,可使用FTP/HTTP多种方式
label 2
   menu label ^2) Boot from local drive
   localboot

6.客户端开机以PXE引导启动即可进入Centos安装界面。
PXE网络引导安装Centos.png
后续可通过kickstart无人值守安装系统

固定NFS启动端口便于iptables设置

发布时间:April 22, 2012 // 分类:Linux服务 // No Comments

NFS启动时会随机启动多个端口并向RPC注册,这样如果使用iptables对NFS端口进行限制就会有点麻烦,可以更改配置文件固定NFS服务相关端口。
先上张图看看NFS启动后的端口:
nfs-port.png
分配端口,编辑配置文件:

vi /etc/sysconfig/nfs 

添加:

#https://www.haiyun.me
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004

重启portmap和nfs:

/etc/init.d/portmap restart
/etc/init.d/nfs restart

现在看看启动的端口:

rpcinfo -p localhost

2012-04-22_185346.png
iptables设置:

iptables -A INPUT -s 192.168.1.1 -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -p udp --dport 111 -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -p udp --dport 2049 -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -p tcp --dport 30001:30004 -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -p udp --dport 30001:30004 -j ACCEPT

Linux/Centos7/ubuntu下安装配置NFS文件服务器

发布时间:April 22, 2012 // 分类:Linux服务 // No Comments

NFS即网络文件服务器,可以挂载管理远程主机上的文件如本地一般,特殊场合应用很方便。
CentOS下安装:

yum -y install nfs-utils

ubuntu安装:

apt install nfs-kernel-server

配置共享目录:

vim /etc/exports 
/tmp  192.168.1.0/24(rw,fsid=0,no_root_squash)
#定义目录tmp,主机192.168.1.0/24可连接,有读写权限。
#fsid=0,此目录为虚拟根目录,挂载时路径填写/即可。
#默认root连接会压缩成匿名用户,如需保持root权限请添加no_root_squash参数。
#如/tmp   192.168.1.0/24(rw,no_root_squash)

启动NFS:

systemctl enable rpcbind
systemctl start rpcbind
systemctl enable nfs-server
systemctl start nfs-server

查看当前共享参数:

showmount -e localhost
Export list for localhost:
/tmp 192.168.1.0/24*

或者:

exportfs

修改exports配置文件后重新生效:

exportfs -a

远端主机挂载共享目录:

 mount -t nfs 192.168.1.1:/tmp /mnt

查看nfs状态:

#服务器端
nfsstat -s
#客户端
nfsstat -m

开启nfs调试日志,保存在/var/log/message,ubuntu在/var/log/syslog

#服务器端
rpcdebug -m nfsd -s all
#客户端
rpcdebug -m nfs -s all

关闭:

rpcdebug -m nfs -s all
rpcdebug -m nfsd -s all

NFS服务器Iptables防火墙配置:https://www.haiyun.me/archives/centos-nfs-port.html

Xenserver挂载ISO存储

发布时间:April 22, 2012 // 分类:虚拟化 // No Comments

XenServer可挂载ISO光盘安装系统或做为Livecd、PE使用,挂载ISO存储有三种方法,各有优劣。
1.新建目录并挂载为ISO存储,此方法最为简单,不过Xenserver系统剩余空间有限。

mkdir /iso #新建目录
xe sr-create name-label=boot-iso type=iso device-config:location=/iso/Win_pe_iso/ device-config:legacy_mode=true content-type=iso #新建ISO存储
xe-mount-iso-sr /iso/ #挂载存储

2.新建LV卷,可自定义大小,稍复杂。

 vgdisplay #先查看剩余空间,新建LV不要大于
lvcreate -L 20GB -n iso VG_XenStorage-3aad96c1-a78c-022d-1e9b-a3292ce54067 #新建lv卷iso
mkfs.ext3 /dev/VG_XenStorage-3aad96c1-a78c-022d-1e9b-a3292ce54067/iso #格式化为ext3格式
mkdir /iso 
xe sr-create name-label=myiso type=iso device-config:location=/iso device-config:legacy_mode=true content-type=iso #创建ISO存储
vgchange -a y #激活所有卷组
mount /dev//dev/VG_XenStorage-3aad96c1-a78c-022d-1e9b-a3292ce54067/iso /iso #挂载

3.使用Linux系统NFSWindows系统网络共享挂载ISO,要在别的服务器上安装NFS服务器或开启网络共享,最为复杂,不过一劳永逸,多台XenServer可以共用网络挂载的ISO存储,推荐此方式。

xe-mount-iso-sr https://www.haiyun.me:/path
分类
最新文章
最近回复
  • : linux系统上单个网卡多条宽带拨号获取公网IP,外网可以访问这些IP,有偿! Q:25299...
  • 硅谷少年: 非常有用,感谢分享
  • spartan2: https://dashboard.hcaptcha.com/welcome_accessib...
  • 海运: 应该能,在购买页面先手工跳过cf机器验证,后续一定时间内不更换ip应该不会再次验证。
  • spartan: 大佬斯巴达开启了CF的机器识别验证,请问插件能自动跳过吗? 另外这个脚本有没有简单使用说明,新...
  • vincent: 膜拜大佬
  • 海运: proxy-header或proxy_protocol
  • liangjw: 如果是 内部调用 或者 中间存在 代理 而上一个代理又在内网 ,那怎么处理来自代理私有IP?
  • chainofhonor: 感谢,用dnsmasq设置自动判断BIOS和UEFI成功了
  • 海运: 不好意思,这个是很多年前的,现在也许已经不适用,我现在也不用多线了。