ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

RedHat 6.9服务器安装全流程:启动盘、分区、yum源与网络配置实战

RedHat 6.9服务器安装全流程:启动盘、分区、yum源与网络配置实战 RedHat 6.9 这个版本说实话有点年头了内核 2.6.322017 年的产物但直到今天不少机房里的遗留业务、工控系统、老应用还在它上面跑着。最近我就帮人处理了一台 x86-64 架构服务器上的 RedHat 6.9 部署从做启动盘到分区再到配 yum 源一圈踩下来发现网上能用的完整教程还真不多要么太简略要么关键步骤直接跳过。这篇就把整个安装过程掰开揉碎包括装完之后的网络、yum、安全配置也一并写清楚适合刚接触 RHEL 的运维新手也适合给老司机当一份速查清单。1. 环境准备与镜像选择1.1 硬件要求与兼容性判断RHEL 6.9 x86-64 的官方最低配置并不高CPU 双核以上内存在 1GB 左右就能跑起来磁盘 6GB 是最低门槛。但这里我要说句实在话这个版本内核比较老对新硬件的兼容性是最大的坑。如果你手里是一台全新的服务器主板带 NVMe 硬盘、新网卡、新显卡那 RHEL 6.9 大概率装不上或者装完驱动起不来。遇到这种情况别硬怼要么找老机器、虚拟机要么考虑升级到 RHEL 7/8/9。我实际测试过给 RHEL 6.9 分配资源时虚拟机场景下 2 核 CPU、2GB 内存、20GB 磁盘就非常流畅物理机的话建议 CPU 不低于 4 核内存不低于 4GB磁盘根据应用需求 50GB 起步。网络方面安装时最好保证网卡能被识别如果服务器有多块网卡建议先记住哪块是 eth0等会配静态 IP 时要用。1.2 镜像下载与校验RHEL 6.9 的镜像获取是个绕不开的话题。有 Red Hat 订阅的话直接从官方的 Customer Portal 下载 ISO这是最正规的途径。如果你只是想学习或者做实验没有订阅也没关系CentOS 6.9 的 ISO 和 RHEL 6.9 基本同源安装方式几乎一模一样完全可以拿来练手成本为零。拿到镜像后别急着写盘先做校验。官方页面会提供 SHA256 校验值下载完成后在 Linux 下用 sha256sum 命令对比Windows 下可以用 PowerShell 的 Get-FileHash。这个步骤看着多余但镜像文件动辄 4GB下载过程中出现一个 bit 的损坏后面安装就会各种莫名其妙的问题我踩过太多次这种坑了。1.3 启动盘制作与引导注意事项U 盘启动盘推荐用 dd 命令直接写入。Linux 环境下先 lsblk 确认 U 盘设备名比如 /dev/sdb千万别搞错然后执行umount /dev/sdb1 dd ifrhel-server-6.9-x86_64-dvd.iso of/dev/sdb bs4M statusprogress syncWindows 下用 Rufus 也可以模式一定要选 DD 镜像写入而不是标准 ISO 模式。用 UltraISO 这类工具直接把 ISO 解压到 U 盘的方案在 RHEL 6.9 上经常出现引导失败的问题不建议尝试。另外有一点必须提醒RHEL 6.9 对 UEFI 引导的支持比较差很多时候 UEFI 模式下根本进不了安装界面。最省心的做法是开机进 BIOS把启动模式切成 Legacy 传统模式然后从 U 盘引导。如果你只有 UEFI 固件的机器可以试试手动选择带 UEFI 前缀的 U 盘启动项但成功率不高真不行就换虚拟化平台。1.4 安装方式选型与虚拟机准备除了光驱和 U 盘本地安装RHEL 6.9 还支持网络安装包括 NFS、HTTP、FTP 三种源。网络安装的思路是把 ISO 解压到一个 web 服务器或者 NFS 共享目录里安装时通过引导参数指定安装源地址。这种方式适合批量部署配合 Kickstart 文件可以实现全自动安装后面我会专门扩展讲。虚拟机里安装就比较省心了。VMware Workstation 里新建虚拟机系统类型选 Red Hat Enterprise Linux 6 64-bit内存给 2GB硬盘 20GB网卡选桥接或者 NAT 都行。VirtualBox 同理选择 Red Hat (64-bit) 类型。唯一需要注意的是虚拟机固件类型建议选 BIOS 而不是 UEFI不然大概率卡在引导界面。2. 安装流程全盘拆解2.1 引导安装程序与模式选择U 盘引导后会出现一个 boot: 提示符直接回车就会进入图形化安装界面。如果机器显卡比较老或者显示异常在 boot: 后面输入 linux text 回车可以进入文本模式安装。文本模式并不是真的字符界面而是一个低分辨率的图形菜单操作逻辑差不多但兼容性更好远程安装时也推荐用。还有一个参数值得记住linux askmethod。加了它之后安装程序会先问你安装介质类型比如 Local CD/DVD、Hard drive、NFS directory、URL 等。如果你打算通过网络源安装这个参数就派上用场了选 URL 然后填 http 服务器的地址就能继续。2.2 语言、键盘与时区设置进入安装程序后会先让你选语言。我的建议是直接用英文因为装完后系统日志、软件包路径、故障排查资料都是以英文为准用中文安装界面虽然看着亲切但遇到问题时对不上号反而麻烦。当然纯练手的话中文也没问题系统内部路径不受影响。键盘布局选默认的 US 美式键盘就行除非你有特殊输入需求。接下来设置时区选 Asia/Shanghai并勾选 System clock uses UTC。服务器环境统一用 UTC 时间可以避免很多时间换算上的混乱如果这台机器是专人使用的桌面环境取消勾选也可以。2.3 磁盘分区方案详解这是整个安装过程中最关键的一步。RHEL 6.9 安装到分区界面时提供两种选择使用全部空间自动分区或者自定义分区。对于生产环境我强烈建议选择 Create Custom Layout 手动分区。推荐的分区方案如下/boot 分区500MBext4 文件系统不放进 LVMswap 分区根据物理内存大小分配4GB 内存以下给 2 倍8GB 内存以上给 8GB 到 16GB 就够了不用无脑加倍/ 根分区剩余所有空间使用 LVM 逻辑卷管理为什么推荐 LVM因为 RHEL 的企业运维场景里磁盘扩容是家常便饭。用 LVM 管理根分区后后期加硬盘、扩展逻辑卷都可以在线完成不用停机不破坏数据。如果直接给根分区一个固定大小以后空间不够就只能迁移数据重新分区非常痛苦。2.4 LVM 分区实操过程自定义分区界面里先选中空闲磁盘点 Create 创建分区。第一步创建 /boot大小填 500固定大小文件系统 ext4挂载点 /boot。第二步创建 swap大小根据内存填文件系统选 swap挂载点会自动显示 swap。第三步创建物理卷Physical Volume在分区类型里选 Physical Volume (LVM)大小选 Fill to maximum allowable size 或者留一部分空间给其他用途都行。创建好物理卷后需要创建卷组Volume Group。我给卷组起名 vg_root然后把刚才创建的物理卷加入进去。接着在卷组里创建逻辑卷Logical Volume先创建根卷 lv_root大小选剩余空间的全部文件系统 ext4挂载点 /再创建 swap 卷 lv_swap大小和前面一致文件系统 swap。RHEL 6.9 安装程序在创建 LVM 时也可以把根和 swap 都放进去逻辑一样。这里有个细节创建完所有分区后安装程序会显示 Summary 界面列出一堆分区变更信息。仔细检查一遍确认没有覆盖有数据的磁盘然后把更改写入磁盘。接下来是格式化过程这个没得选确认即可。2.5 引导程序安装位置分区完成后会进入引导程序配置界面。默认情况下列表会显示 /dev/sda引导程序安装在磁盘主引导记录 MBR 上这个选项保持默认即可。如果机器上装有多块硬盘或者多个操作系统务必确认引导程序要装到哪块盘上避免覆盖了其他系统的引导。RHEL 6.9 默认使用 GRUB 引导它在 MBR 里写入一段引导代码然后读取 /boot/grub/grub.conf 配置文件加载内核。安装时还可以设置 GRUB 密码如果需要提高安全性设置一个密码可以防止单用户模式修改 root 密码但测试环境一般不需要反而会增加误操作时的复杂度。2.6 软件包定制策略安装源的选项通常默认就是 Local media用本地光盘或 U 盘的镜像作为安装源保持默认即可。下一步会问你要安装哪种类型比如 Basic Server、Database Server 等建议选 Customize now 进入自定义界面按需勾选软件包组。我的经验是分场景选纯服务器用途Base System 下的 Base、Networking Tools、Performance Tools、Development Tools、Administration Tools 都选上需要图形界面勾选 Desktop、General Desktop 相关组件开发环境重点勾选 Development Tools里面包含 gcc、make、git 等常用开发工具原则是能少装就少装。装图形桌面会多占用好几个 GB 空间和大量内存服务器上根本用不到。少装一个包就少一个被攻击的入口这也是基本的安全意识。2.7 网络配置、root 密码与 Kdump安装过程中会进入网络配置界面这里建议直接手动配置静态 IP。打开网卡 eth0 的配置选 Manual configuration填上 IPv4 地址、子网掩码、网关和 DNS。注意 RHEL 6 的网卡命名是 eth0 开头跟 RHEL 7 以后的 ens33 不一样别搞混了。root 密码设置没什么好说的至少 8 位建议大小写字母加数字加符号的组合绝对不要偷懒。这里还有一个 Kdump 的配置选项Kdump 是内核崩溃时的内存转储工具需要预留一部分内存给 kdump 内核。测试环境直接不启用它能省下不少内存生产环境如果想要预留 1GB 到 2GB 即可。3. 首次启动与初始化配置3.1 重启后的系统验证安装完成系统会提示重启记得把安装 U 盘或者光驱拿掉不然又会从安装介质引导。重启后如果看到 GRUB 菜单回车进入系统。第一次进入会让你做初次启动设置包括创建普通用户、设置时间等可以直接跳过后面手动处理。登录后先用命令确认系统版本cat /etc/redhat-release uname -a正常会看到 Red Hat Enterprise Linux Server release 6.9 (Santiago) 以及 x86_64 的内核架构信息。这一步确认无误说明安装成功。3.2 静态 IP 网卡配置安装时如果没配网络或者想重新调整 IP需要编辑网卡配置文件。RHEL 6 的网卡配置在 /etc/sysconfig/network-scripts/ifcfg-eth0内容大致是DEVICEeth0 BOOTPROTOnone ONBOOTyes IPADDR192.168.1.100 NETMASK255.255.255.0 GATEWAY192.168.1.1 DNS1114.114.114.114改完后执行 service network restart 生效。RHEL 6 默认不启动 NetworkManager所以不用管它。验证连通性ping -c 4 192.168.1.1 ping -c 4 www.baidu.com第一段 ping 通说明网络没问题第二段通说明 DNS 解析正常。如果网关通但外网不通查一下路由表和 iptables如果网关都不通大概率是网卡配置里 GATEWAY 写错或者网线物理链路问题。3.3 修改主机名主机名修改分临时和永久两种。临时修改用 hostname 命令重启就失效永久修改要编辑 /etc/sysconfig/network 文件在里面加一行 HOSTNAMEyour-server-name。改完执行 hostname your-server-name 立即生效或者直接重启。3.4 yum 源配置与踩坑记录RHEL 默认的 yum 源是需要订阅认证的没有 Red Hat 订阅的话yum 命令会直接报错。这是 RHEL 6.9 使用中最大的痛点也是最需要提前处理的。我的做法是先挂载本地 DVD 源。把安装 ISO 重新挂载到 /mnt/dvd或者直接把 ISO 文件挂载mkdir -p /mnt/dvd mount -o loop rhel-server-6.9-x86_64-dvd.iso /mnt/dvd然后编辑 /etc/yum.repos.d/rhel6.repo写入[rhel6-local] nameRed Hat Enterprise Linux 6.9 Local Repository baseurlfile:///mnt/dvd enabled1 gpgcheck0注意 RHEL 6.9 的包仓库在 ISO 根目录不必写 Server 子目录。随后执行yum clean all yum repolist如果显示仓库正常且软件包数量不为 0就说明本地源可用。没有本地 ISO 的话可以配置 CentOS 6 的镜像源比如网易或阿里的 Vault 源注意地址要带 6.9 路径。用外部源时记得关掉 gpgcheck 或者导入 GPG key不然后面装包容易卡在签名校验。3.5 SELinux、防火墙与基础工具SELinux 默认 enforcing 模式会对很多操作产生限制。生产环境如果对 SELinux 策略不熟悉建议先设置为 permissive它会记录日志但不会阻止操作排查问题很方便。修改 /etc/selinux/config 里的 SELINUX 字段然后重启生效。改变 SELinux 状态一定要重启因为文件系统安全上下文的应用依赖启动过程。防火墙方面RHEL 6.9 还在用 iptables不是 firewalld。查看当前规则用 iptables -L想临时放开某个端口iptables -I INPUT -p tcp --dport 22 -j ACCEPT service iptables save这条命令保存规则之前先确认自己需要的端口都放行了不然保存后远程连接可能直接断掉。测试环境图省事可以彻底停掉 iptables但生产环境还是建议保留最小化规则。基础工具方面装完系统最好补几个日常必备的包yum install -y vim lrzsz net-tools tree telnet wget这些包虽然基础但每次都能用上。vim 和 lrzsz 尤其重要一个提升编辑体验一个直接拖文件传文件。3.6 创建普通用户与时间同步长期用 root 登录是很多事故的根源。建议创建一个普通用户并加入 wheel 组方便以后通过 su 切换 rootuseradd opsadmin passwd opsadmin usermod -aG wheel opsadmin时间同步方面RHEL 6.9 默认带 ntpdate但服务已经比较老旧。可以先一次性同步ntpdate pool.ntp.org如果外部源访问不了至少保证手工同步一次避免证书校验、日志时间对不上等连锁问题。4. 常见问题与排查技巧实录4.1 安装界面黑屏或花屏这是 RHEL 6.9 装老机器时常见的毛病跟显卡和显示器兼容性有关。两个快速解决思路一是引导时在 boot: 后面输入 linux nomodeset关闭内核的 KMS 模式设置让显卡老老实实走 VESA二是改用文本模式安装直接输入 linux text。文本模式下虽然界面丑了点但几乎不会出现显示问题。4.2 U 盘引导出现 kernel panicU 盘启动时偶尔会直接报 kernel panic或者卡在 unable to find root filesystem。排查顺序是先用校验值确认 ISO 没损坏再确认 U 盘写入方式是不是 dd 或 Rufus DD 模式最后换一个 USB 2.0 接口试试。有些老主板的 USB 3.0 驱动在引导阶段没有加载插在 3.0 口上就会找不到设备。4.3 根分区空间不足与 LVM 扩容安装时如果根分区给得太小跑一段时间后系统告警磁盘空间不够。LVM 的扩容流程是添加新硬盘后创建物理卷 pvcreate扩展卷组 vgextend再扩展逻辑卷 lvextend最后用 resize2fs 调整文件系统。整个过程可以在线完成不用卸载根分区。# 新硬盘 /dev/sdb pvcreate /dev/sdb vgextend vg_root /dev/sdb lvextend -L 20G /dev/mapper/vg_root-lv_root resize2fs /dev/mapper/vg_root-lv_root我这里特别想强调很多新手在扩容后忘了执行最后一步 resize2fs导致逻辑卷空间和文件系统空间对不上df 看到的还是原来的大小。每次扩容结束后别急着走一定先验证文件系统实际可用空间。4.4 yum 源失效或提示未注册RHEL 官方早就停止对 6.9 的支持了默认订阅源肯定不可用。解决办法就是走本地 DVD 源或者第三方 Vault 镜像源。配置外部源时注意把 /etc/yum.repos.d/ 下官方默认的 repo 文件改名或者删除不然 yum 会先尝试官方源然后卡住等到超时才会切到下一个源体验非常糟糕。cd /etc/yum.repos.d/ mv rhel-source.repo rhel-source.repo.bak配置完自建 repo 后用 yum clean all 和 yum makecache 重新生成缓存再执行 yum repolist 看结果。4.5 GRUB 引导损坏修复安装完重启提示 missing operating system 或者直接进入 grub 救援模式多半是引导程序坏了。处理方法是进入安装盘选择 Rescue installed system接着用以下命令修复chroot /mnt/sysimage grub-install /dev/sda grub-mkconfig -o /boot/grub/grub.conf如果修复完后还是进不了系统检查 /boot/grub/grub.conf 里的 root 设备号对不对以及内核镜像路径是否存在。这个场景虽然不常遇到但一旦发生不熟悉的话很抓狂提前收藏备用。4.6 虚拟机下的特殊处理在 VMware 或 VirtualBox 里安装 RHEL 6.9安装完第一件事是装图形驱动和集成服务组件。VMware 下建议用 open-vm-toolsyum install -y open-vm-tools装完后屏幕分辨率能自适应剪贴板也能共享关机重启等都正常了。VirtualBox 的话需要安装 guest additions镜像里自带挂载后执行 VBoxLinuxAdditions.run 即可。注意这些工具在安装前要保证内核开发包已经就位否则编译会失败也就是提前 yum install -y kernel-devel gcc。5. 批量部署Kickstart 与网络安装扩展5.1 最小适用 Kickstart 文件如果手头有多台机器要装一台一台点安装界面实在太低效。RHEL 6.9 可以通过 Kickstart 文件实现全自动安装。把下面内容保存为 ks.cfg#versionDEVEL install url --urlhttp://192.168.1.10/rhel6/ lang en_US.UTF-8 keyboard us network --bootprotostatic --deviceeth0 --ip192.168.1.101 --netmask255.255.255.0 --gateway192.168.1.1 --nameserver114.114.114.114 --hostnamenode01 rootpw --iscrypted 这里放加密后的密码 firewall --disabled selinux --permissive timezone Asia/Shanghai zerombr clearpart --all --initlabel part /boot --size500 --fstypeext4 part pv.01 --size1 --grow volgroup vg_root pv.01 logvol / --fstypeext4 --namelv_root --vgnamevg_root --size1 --grow logvol swap --namelv_swap --vgnamevg_root --size4096 %packages base development admin-tools vim tree wget %post echo post install /root/post.log %endroot 密码的加密串可以用 grub-crypt 生成或者用 openssl passwd -1 生成 MD5 散列直接明文写在文件里是不安全的。%packages 段里那些 开头的表示软件包组详细组名可以用 kickstart 包生成工具的说明来参考。5.2 PXE 网络无人值守安装思路Kickstart 通常配合 PXE 使用。PXE 的工作流程是客户机从 DHCP 获取 IP 和启动文件地址通过 TFTP 下载引导内核然后启动安装程序安装程序通过 URL 参数读取 ks.cfg 和安装源。这套方案里 DHCP、TFTP、HTTP 三个服务是核心。RHEL 6.9 用的 DHCP 服务还是 dhcpdTFTP 是 tftp-serverHTTP 可以用 Apache 或 Nginx把 ISO 解压后的目录放到 Web 根目录下。这些服务在这种老版本上的配置大同小异网上资源很多但要注意 RHEL 6 的防火墙管理方式始终是 iptables。想走批量装机路线的话建议先从一台虚机里把整条链路跑通再推广到物理机群。5.3 Kickstart 的后续初始化装了系统的机器不一定直接满足交付要求。Kickstart 的 %post 段可以写初始化脚本比如创建业务用户、写入 authorized_keys、修改 SSH 端口、安装监控 agent 等等。这样一台新机器装完就能直接落到指定业务角色里省掉后续手工操作的大量重复动作。值得留意的是写在 %post 的脚本默认在 chroot 环境下执行部分命令行为跟正常系统下不同遇到奇怪报错时先考虑环境问题。调试阶段可以在 %post 里加上日志输出比如执行命令前先 echo 标记方便在 /root/install.log 里追溯。写在最后的个人经验RHEL 6.9 这个版本放在今天确实是老古董了但越老的系统越考验安装和部署的细心程度。我这几年装它的固定流程已经沉淀下来了先确认硬件没有被新驱动坑U 盘直接 dd 写入能文本模式就不凑图形界面的热闹分区一律 LVM装完立刻配静态 IP 和本地 yum 源最后用 open-vm-tools 收尾。整个流程快的话五十分钟搞定慢也就一个多小时。最后再分享一个细节RHEL 6.9 装完千万别急着丢安装介质ISO 里的包是救命的良药。哪怕你之后配好了网络源系统出问题需要修复环境时本地 DVD 依然是最可靠的后备。把它放在顺手的位置比收藏几十个教程都实用。
返回列表