ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

CentOS 7手动安装与分区方案详解:从原理到实践的运维指南

CentOS 7手动安装与分区方案详解:从原理到实践的运维指南 1. 项目概述为什么今天还要手动安装CentOS 7如果你点开了这篇文章大概率是刚接触Linux运维、后端开发或者需要搭建一个稳定的服务器环境。面对市面上Ubuntu、Debian甚至各种云原生的Linux发行版你可能会疑惑为什么还要折腾一个2014年发布的CentOS 7它甚至已经停止了官方维护。我的回答是稳定压倒一切以及庞大的历史惯性。直到今天大量的企业生产环境、传统软件尤其是金融、电信行业的闭源商业软件依然运行在CentOS 7上。它的生命周期支持虽然结束但RHEL 7的扩展支持仍在继续这意味着安全补丁和关键Bug修复还在更新。对于学习者而言从CentOS 7入手你能接触到最经典、最标准的Systemd服务管理、Firewalld防火墙以及Yum包管理这些知识是理解现代Linux发行版的基石。更重要的是手动安装并规划分区这个过程是理解Linux系统架构最直接、最深刻的一课。这不仅仅是点几下“下一步”而是让你亲手为你的系统搭建“骨架”理解/boot、/、swap、/home这些目录到底意味着什么。接下来我将以一个从业十年的运维视角带你从零开始完成一次深思熟虑的CentOS 7安装与分区避开所有新手容易踩的坑。2. 安装前的核心准备镜像、虚拟机与启动盘在按下安装按钮之前90%的问题都源于准备不充分。这一步做扎实了后续就是顺水推舟。2.1 获取正确的安装镜像首先忘掉那些来路不明的“ghost版”或“精简版”。我们的目标是搭建一个可用于学习和模拟生产环境的标准系统因此必须从官方或可信镜像站获取纯净的ISO文件。选择版本访问CentOS官方归档站点或国内镜像源如阿里云、清华大学的开源镜像站。对于大多数用途选择“CentOS-7-x86_64-DVD-2009.iso”这个版本。这是CentOS 7的最终版本对应RHEL 7.9包含了安装所需的所有基础软件包大小约4.4GB。“Minimal”版本太小缺少很多调试工具“Everything”版本过大对于初次安装不是必需。校验文件完整性下载后务必校验SHA256校验和。这是防止镜像损坏导致安装中途失败的关键一步。在Windows下可以使用certutil命令在Linux/Mac下直接用sha256sum命令与镜像站提供的校验文件进行比对。我见过不止一个新手因为镜像损坏在安装后期报错而浪费数小时。2.2 虚拟化环境搭建以VMware Workstation为例对于学习和测试虚拟机是完美沙盒。这里以VMware Workstation 17为例。创建新虚拟机选择“典型”配置即可。在“安装客户机操作系统”步骤选择“稍后安装操作系统”这能让我们更自由地配置硬件。关键硬件配置客户机操作系统选择“Linux”版本选择“CentOS 7 64位”。这会让VMware应用最优化的虚拟硬件驱动。处理器与内存处理器至少分配2个核心。内存建议2GB2048MB起步如果后续需要运行数据库或中间件可以配置4GB。这是流畅运行图形化安装界面的底线。网络适配器默认的“NAT模式”最适合新手。它会让虚拟机共享主机的IP上网就像家用路由器下的设备一样无需额外配置即可访问外网。磁盘这是重点。选择“创建新虚拟磁盘”类型用默认的SCSI。大小建议40GB以上并选择“将虚拟磁盘拆分成多个文件”。这样更便于迁移和备份。磁盘大小不要吝啬我们即将进行的手动分区需要空间。注意如果你使用其他虚拟化平台如VirtualBox或准备在实体机上安装核心思路一致确保CPU支持虚拟化在BIOS中开启VT-x/AMD-V准备至少8GB的U盘制作启动盘使用Rufus或balenaEtcher工具选择“DD模式”写入ISO。3. 启动安装与关键语言、时区设置挂载好ISO镜像或插入启动U盘后启动虚拟机或实体机。选择安装模式你会看到第一个界面选择“Install CentOS 7”直接回车。如果安装介质或硬件检测有问题可以先测试媒体再安装。语言选择在接下来的图形界面虽然可以选择中文但我强烈建议选择“English - United States”。原因有三首先绝大多数服务器运维环境是英文提前适应可避免后续命令、日志出现乱码其次某些软件对中文路径支持不友好最后在遇到错误时用英文关键词搜索解决方案其准确度和数量远超中文。你可以将系统语言在安装后改为中文但安装界面语言保持英文。安装信息摘要INSTALLATION SUMMARY这是安装的核心配置页面。所有带警告叹号的条目都需要配置。日期和时间DATE TIME点击进入在地图上点击上海所在的区域或手动选择“Asia/Shanghai”。务必关闭“网络时间NTP”在安装阶段虚拟机可能无法同步时间导致错误。键盘KEYBOARD保持默认的“English (US)”即可。安装源INSTALLATION SOURCE因为我们使用了完整的DVD镜像这里会自动检测到“Local media”无需更改。软件选择SOFTWARE SELECTION这是决定系统用途的一步。对于服务器和初学者务必选择“Minimal Install”最小化安装。它只安装最核心的系统组件没有图形界面。这能保证系统最大程度的纯净、安全和高效。所有需要的软件如网络工具net-tools、文本编辑器vim都可以事后通过yum命令安装。贪图方便选择带GUI的版本会引入大量无关服务和依赖。安装目的地INSTALLATION DESTINATION这是我们本次的重中之重——磁盘分区。点击进入进行配置。4. 磁盘分区方案设计与实操详解进入“安装目的地”后你会看到你的磁盘例如40GB的vda或sda。这里有两个大选项“自动配置分区”和“我要配置分区”。请绝对不要点选“自动配置分区”这是新手成为“背锅侠”的第一步。自动分区会生成一个非常死板的LVM布局通常/boot分区只有1GB根分区/占据剩余所有空间。这种布局在后续系统运维中会带来巨大麻烦根分区被日志或应用数据塞满导致系统崩溃想扩容/boot几乎不可能。我们必须选择“我要配置分区I will configure partitioning”然后点击完成进入手动分区界面。在分区方案中选择“标准分区Standard Partition”而非LVM。对于初学者和小型环境标准分区更直观易于理解和维护。LVM虽然提供了灵活的卷管理但增加了复杂度。我们先掌握基础。下面是一个针对40GB磁盘的、兼顾学习与生产实践的经典分区方案4.1/boot分区系统的启动引擎挂载点/boot期望容量1GB文件系统类型ext4为什么是1GBboot分区存放着Linux内核vmlinuz和初始化内存盘initramfs等启动引导文件。CentOS 7单个内核文件约50MB加上多个内核版本和grub引导程序1GB空间足以容纳10个以上的内核版本为系统升级留足冗余。容量固定无需太大。实操点击“”号挂载点输入/boot期望容量输入1G文件系统选择ext4点击“添加挂载点”。4.2swap交换分区内存的应急缓冲区挂载点swap期望容量物理内存的1-2倍。本例中我们分配了2GB内存因此swap分配4GB。文件系统类型swap为什么需要swap当物理内存耗尽时系统会将内存中不活跃的页page移动到swap空间防止程序崩溃。对于服务器swap还有一个关键作用当系统进入休眠hibernate状态时需要将内存数据完整写入swap。虽然生产服务器通常不休眠但保留swap是良好的安全习惯。容量计算争议旧规则内存2倍源于内存昂贵的时代。现代服务器内存动辄几十GB完全按2倍分配不现实。一个实用原则是内存8GB时swap内存2倍内存8GB时swap8-16GB固定值。我们这里遵循经典规则。实操点击“”挂载点不填直接在下拉框选择“swap”期望容量输入4G点击添加。4.3/根分区系统的核心腹地挂载点/期望容量20GB - 25GB文件系统类型ext4为什么是这个大小根分区存放着系统核心文件、配置文件、系统库和所有未指定挂载点的文件。分配20-25GB可以确保系统有足够的空间安装大量开发工具、运行时环境如Python、Java和系统更新。一个纯净的Minimal安装大约占用2-3GB因此25GB提供了充足的缓冲。实操点击“”挂载点输入/期望容量输入25G文件系统选择ext4点击添加。4.4/home分区用户数据的独立王国挂载点/home期望容量剩余所有空间约10GB文件系统类型ext4为什么必须独立分区这是本次分区方案最精华的价值所在。/home是普通用户的家目录所有用户数据、桌面文件、应用配置都默认在这里。将其独立分区意味着系统与数据分离当系统崩溃需要重装时你可以格式化/分区而保留/home分区所有用户数据安然无恙。避免根目录被塞满用户如果下载大文件到桌面只会占满/home不会影响系统运行。灵活性未来可以轻松将/home挂载到另一块更大的物理磁盘上。实操点击“”挂载点输入/home期望容量留空表示使用剩余空间或手动输入10G文件系统选择ext4点击添加。完成后的分区表应如下所示挂载点容量文件系统说明/boot1Gext4启动分区存放内核swap4Gswap交换分区内存缓冲/25Gext4根分区系统核心文件/home10Gext4用户家目录分区存放数据确认无误后点击左上角“完成”。系统会弹出摘要让你再次确认点击“接受更改”返回主安装界面。5. 网络配置、root密码与用户创建分区完成后安装信息摘要页面的警告会减少。接下来配置最后几个关键项。网络和主机名NETWORK HOSTNAME进入后在左下角可以看到你的网络设备如ens33默认是关闭的。将其开关打开使其显示“ON”。这样安装程序就会在安装过程中自动通过DHCP获取IP地址为后续安装软件包如果需要提供网络。在上方“主机名Hostname”输入框中为你的系统起个名字例如centos7-server.localdomain。点击“应用”。安全策略SECURITY POLICY对于学习和测试环境可以暂时不选择任何策略保持默认。生产环境会根据合规要求选择如“STIG”等策略。开始安装Begin Installation点击后安装程序开始格式化磁盘并复制文件。此时需要配置用户。ROOT密码ROOT PASSWORD设置一个强壮的root密码。如果密码强度太低需要点击两次“完成”进行确认。重要心得在生产环境中应禁用root的SSH密码登录改用密钥认证。但在学习环境牢记这个密码。创建用户USER CREATION强烈建议创建一个普通用户并将其设为管理员。填写用户名如admin、全名设置密码。最关键的一步勾选“将此用户设为管理员Make this user administrator”。这相当于将该用户加入wheel组之后可以通过sudo命令来执行需要root权限的操作。遵循“最小权限原则”日常使用普通用户必要时sudo是Linux系统安全的最佳实践。等待安装进度条走完点击“重启Reboot”。首次重启后会有一个初始化设置接受许可证协议即可进入登录界面。6. 首次启动后的关键配置与验证系统安装完成但工作还没结束。以下几个步骤能确保你的系统处于最佳就绪状态。6.1 验证分区与磁盘空间登录系统后用你创建的普通用户然后用su -切换root或直接用root登录首先验证我们的分区是否按计划生效。# 查看磁盘分区情况 lsblk # 查看更详细的分区信息和挂载点 df -hT你应该能看到类似以下的输出确认/boot、/、/home和swap分区都存在且大小符合预期。NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 40G 0 disk ├─sda1 8:1 0 1G 0 part /boot ├─sda2 8:2 0 4G 0 part [SWAP] ├─sda3 8:3 0 25G 0 part / └─sda4 8:4 0 10G 0 part /home6.2 更新系统与安装必备工具最小化安装非常精简我们需要安装一些最常用的工具。# 切换到root用户 sudo su - # 更新系统所有包到最新首次更新可能会较慢 yum update -y # 安装网络工具包包含ifconfig, netstat等命令 yum install -y net-tools # 安装增强型文本编辑器vim yum install -y vim # 安装进程查看工具 yum install -y htop # 安装解压缩工具 yum install -y unzip zip6.3 配置静态IP地址可选但重要安装时我们用了DHCP但在服务器环境中静态IP是必须的。找到网卡配置文件通常是/etc/sysconfig/network-scripts/ifcfg-ens33网卡名可能不同。使用vim编辑它vim /etc/sysconfig/network-scripts/ifcfg-ens33修改以下关键参数BOOTPROTOstatic # 将dhcp改为static ONBOOTyes # 确保是yes开机自启 # 在文件末尾添加以下内容根据你的实际网络环境修改 IPADDR192.168.1.100 # 你想要的静态IP NETMASK255.255.255.0 # 子网掩码 GATEWAY192.168.1.1 # 网关地址通常是路由器IP DNS18.8.8.8 # 首选DNS DNS2114.114.114.114 # 备用DNS保存退出后重启网络服务systemctl restart network用ip addr或ifconfig命令检查IP是否已变更。7. 常见问题与故障排查实录即便按照步骤操作你也可能会遇到一些问题。这里记录了几个最典型的“坑”。7.1 安装过程中提示“未找到有效的引导设备”问题现象分区完成后开始安装或首次重启后报错无法引导。原因分析这通常是因为引导加载程序GRUB安装位置错误。在手动分区界面有一个极易忽略的选项“引导加载程序安装位置Boot loader device”。它默认可能是整个磁盘如/dev/sda但如果你有多块磁盘或者虚拟机添加了额外空白磁盘它可能错误地指向了其他设备。解决方案在手动分区界面确保页面下方的“引导加载程序安装位置”选择的是你进行分区的那个磁盘例如/dev/sda而不是某个分区如/dev/sda1。最稳妥的方法是手动指定到/dev/sda。7.2 系统启动后卡在“Welcome to emergency mode”问题现象重启后无法进入图形登录界面或命令行而是提示紧急模式并报错可能跟/home或/有关。原因分析99%的原因是**/etc/fstab文件配置错误**。这个文件记录了系统启动时需要自动挂载的分区。手动分区时如果UUID输入错误或文件系统类型不对就会导致系统在启动时无法挂载关键分区而进入救援模式。排查步骤在紧急模式提示符下输入root密码进入救援shell。使用blkid命令查看所有分区的正确UUID和文件系统类型。用vim /etc/fstab编辑文件逐行核对每个分区的UUIDUUIDxxxx和文件系统类型ext4,swap是否与blkid的输出一致。特别注意swap分区的行格式应为UUIDxxxx none swap defaults 0 0。修改保存后执行mount -a测试配置是否正确不报错即正常然后reboot重启。7.3 根分区/空间使用率增长过快问题现象使用一段时间后df -h发现/分区使用率超过80%甚至90%。原因分析即使我们为/home独立分区/分区仍可能被以下内容占满系统日志/var/log目录。Docker容器/镜像如果安装了Docker默认存储路径在/var/lib/docker。Yum缓存/var/cache/yum。临时文件/tmp。清理与预防# 1. 清理旧的日志文件谨慎操作建议先备份 journalctl --vacuum-time7d # 只保留7天内的日志 # 或手动清理/var/log下过大的日志文件如messages-xxx, secure-xxx # 2. 清理Yum缓存 yum clean all # 3. 查看大文件/目录 du -sh /* 2/dev/null | sort -hr | head -20 du -sh /var/* 2/dev/null | sort -hr | head -20 # 4. 对于Docker考虑在安装时就将数据目录迁移到大容量存储。7.4 忘记root密码或用户密码解决方案通过GRUB引导菜单进入单用户模式重置。重启系统在GRUB菜单界面通常需要快速按下方向键选中要启动的内核按e键进入编辑模式。找到以linux16或linux开头的行在行尾ro参数之后添加rd.break或init/bin/bash。按CtrlX启动。系统会进入一个极简的shell环境。由于根文件系统是以只读方式挂载的需要重新挂载为可写mount -o remount,rw /sysroot。切换根目录chroot /sysroot。现在可以修改密码了passwd root或passwd [用户名]。如果系统启用了SELinux需要创建自动重新标记文件touch /.autorelabel。退出并重启exit然后reboot -f。手动安装并规划一个清晰的Linux分区布局就像为房子打下坚实的地基和规划好功能区域。这个过程看似繁琐但每一次手动操作都在加深你对Linux存储层次、启动流程和系统管理的理解。当某天你需要排查磁盘空间不足、迁移用户数据或修复启动故障时今天花时间理解的这些分区知识将成为你解决问题的利器。记住在Linux的世界里对底层原理的掌握程度直接决定了你运维能力的天花板。
返回列表