前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >操作系统安装规范化

操作系统安装规范化

原创
作者头像
iginkgo18
发布2023-07-21 15:23:17
2760
发布2023-07-21 15:23:17
举报
文章被收录于专栏:devops_k8sdevops_k8s

1 简介

如果服务器数量较少,我们可以通过idrac或现场安装,但是服务器几十台甚至上百台可能就不适用了,此时我们就需要无人值守安装。不管数量多少,彻底和人工说88,在此推荐Cobbler;

2 部署

2.1 安装

代码语言:javascript
复制
yum install httpd dhcp tftp python-ctypes cobbler xinetd cobbler-web
systemctl start httpd
systemctl enable httpd
systemctl enable cobberd
systemctl start cobblerd

2.2 配置

代码语言:javascript
复制
# 1.检查配置文件是否有问题,后续的配置都是按照提示修改配置文件
cobbler check
# 2. 修改cobbler配置文件
vim /etc/cobbler/settings
#修改本机ip
#server: 127.0.0.1
server: 10.166.160.253
#修改tftp server
#next_server: 127.0.0.1
next_server: 10.166.160.253
# 3. 启动tftp
vim /etc/xinetd/tftp
#disable 由disable设置为no,并启动
service xinetd restart
netstat -nulp |grep 69
# 4.下载缺失文件
cobbler get-loaders
# 5.启动rsync
systemctl start rsyncd
systemctl enable rsyncd
# 6.安装pykickstart,用于验证kickstart文件是否有效
yum -y install pykickstart
# 7.修改kickstart模板密码,此处为操作系统root密码
openssl passwd -1 -slat 'random-phrase-here' 'xxxxxxx'
vim /etc/cobbler/settings
default_password_crypted: "xxxxxx"
# 8.配置dhcp
vim /etc/cobbler/setttings
# 修改以下字段
manage_dhcp: 1
pxe_just_once: 1

vim /etc/cobbler/dhcp.template
# 修改以下字段
option routers   10.166.160.253;
option domain-name-servers  10.166.160.253;
option subnet-mask 255.255.255.0;
# 可分配的dhcp网段
range dynamic-bootp  10.166.160.240 10.166.160.252;

# 修改dhcp后需要重启
systemctl restart cobblerd
# 每次修改配置文件,都需要进行同步。
cobber sync
# 9.导入Centos-7.6镜像
mount  Centos-7.6-x86_64-DVD-1810.iso /mnt
cobbler import --path=/mnt --name=Centos7.6 --arch=x86_64
# 可通过以下进行查看
cobbler list
# 10.添加ks文件
# ks文件存在在/var/lib/kickstarts
vim /var/lib/cobbler/kickstarts/Centos-7.6-x86_64.ks
#验证配置文件
cobbler validateks
#此时如果报错<type 'exceptions.UnicodeDecodeError'>
#原因是python的字符集编码不一致造成的
#需要通过以下配置并重启服务器可解决。
cat >> /usr/lib/python2.7/site-packages/sitecustomize.py  <<EOF
# encoding=utf8 
import sys
reload(sys)
sys.setdefaultencoding('utf8')
EOF

# 如果ks没有问题,则需要导入ks与Centos7.6 进行绑定
cobbler profile edit --name Centos-7.6-x86_64 --kickstart=/var/lib/cobbler/kickstarts/Centos-7.6-x86_64.ks

# 11.查看配置
cobbler profile report 
# 无论修改哪个配置文件,都需要通过
cobbler sync
# 接下来同一网络内的服务器开启就可以通过Cobbler安装系统了。

# 12.我们的自定义ks文件如下:
vim /var/lib/cobbler/kickstarts/Centos-7.6-x86_64.ks
install
#文本安装
text
lang en_US.UTF-8
keyboard us
authconfig --enableshadow --enablemd5
#xconfig --startxonboot
network --onboot yes --device ens160 --bootproto static --ip 10.166.160.251 --netmask 255.255.255.0 --gateway 10.166.160.254 --nameserver 10.164.200.202 --hostname pre-166-160-251
rootpw --iscrypted $default_password_crypted
#安装树
url --url=$tree
firewall --disabled
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
#删除所有分区,重建lvm分区
clearpart --all --initlabel
part    /boot    --fstype="ext4"   --size=500    --ondrive=sda
part    swap     --size=4096       --ondrive=sda
#设置LVM
part pv.01 --size=1 --grow
volgroup  vg_root  pv.01
logvol  /  --fstype="ext4" --vgname=vg_root --size=1 --grow  --name=lv_root
#最小化安装
%packages --nobase
@core
%end
reboot

通过ks文件我们可以定制如下内容:

  • 网络配置:IP、子网掩码、网关、dns
  • 主机名、设置不同的账户信息
  • LVM磁盘分区
  • 安全设置:关闭防火墙、禁用selinux
  • 最小化安装
  • 还可以自定义安装的package

3 操作系统安装规范

操作系统作为我们运维的最底层系统,如果管理不好,很容易会出现以下问题:

  • 账户密码混乱,需要多次登录才能进入系统
  • 目录混乱,无法快速定位应用目录
  • 分区不统一或没有使用lvm,无法快速扩展
  • 防火墙及selinux没有统一关闭,出现莫名问题
  • 等等

如果你或多或少存在以上问题,说明需要从底层操作系统整改了,否则运维工作将深陷于解决这些琐碎的问题,随着服务器的增多,工作量会指数级增长。

因此,操作系统安装规范可以从以下几方面进行规范:

  • 主机名
  • 登录账户
  • dns、ntp
  • lvm磁盘分区
  • 防火墙、selinux
  • 等等

当然这些都是可以通过ks定义的最基础的规范,我们还可以在此基础上统一进行配置初始化,这可能是下一步的工作了。

配置初始化:

  • 统一安装yum、pip源
  • 关闭无用服务,如postfix、sendmail
  • ssh优化
  • limit及内核参数调整
  • 统一的环境变量
  • 安装统一的客户端
  • 等等

通过以上操作,我们就可以得到一套可直接交付生产的操作系统了,“看着舒心、用着放心”。

4 小结

在操作系统规范化过程中,除了以上外我认为还有一个规范比较重要,就是《目录管理规范》。操作系统交付后,可能会同时运行多个技术栈,团队中每个人部署习惯不一样,如果无法保证信息共享,潜在增加了运维的难度。因此,遵循《目录管理规范》可以保证无论是团队中哪个人,都能很轻松的保证运维的连续性。

最后,如果要实现操作系统的规范化,应该包括两个阶段:

  1. 操作系统安装规范化
  2. 操作系统配置规范化

当然配置的规范化,可能由于企业所在的行业不一样,要求的维度也不一样,这个根据需求调整即可。

原创: 三页 木纳大叔爱运维

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 简介
  • 2 部署
    • 2.1 安装
      • 2.2 配置
      • 3 操作系统安装规范
      • 4 小结
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档