在安装 Rocky Linux 9.3 操作系统之前,我们需要对 BIOS 引导方式、文件系统、分区设计、密码策略有所了解,这能确保我们系统安装的顺利进行。
BIOS 引导方式
BIOS(Basic Input/Output System)引导方式主要有两种:传统的 BIOS 和较新的 UEFI(统一可扩展固件接口)。BIOS(基本输入输出系统):它是一种固件,用于在启动计算机时执行硬件初始化,并启动计算机的引导加载程序。BIOS 引导方式主要存在于较早的计算机系统中。 UEFI(统一可扩展固件接口):它是一种规范,定义了软件与操作系统之间的接口。UEFI 引导方式是传统 BIOS 的现代替代品。
-
传统 BIOS:
- 优点:
- 兼容性强:支持更多老旧硬件,兼容性好。
- 简单易用:用户界面较为基础,易于理解。
- 缺点:
- 启动速度较慢:由于使用 16 位模式,初始化硬件较慢。
- 硬盘大小限制:BIOS 只能识别 MBR(主引导记录)分区表,而 MBR 分区表只能支持最大 2 TB 硬盘,超过 2 TB 的部分无法识别。
- 安全性较低:缺乏现代安全功能,如启动前的自我检查和加密。
- 优点:
-
UEFI:
- 优点:
- 快速启动:初始化硬件更快,支持快速启动技术。
- 支持大容量硬盘:UEFI 支持 GPT(GUID 分区表)分区方式,可以识别超过 2 TB 的硬盘。
- 安全性高:提供安全启动,保护系统免受恶意软件侵害。
- 高度可定制和可扩展:支持图形界面,用户可定制性强。
- 缺点:
- 兼容性问题:新系统可能不支持老旧硬件。
- 用户界面复杂:对于普通用户而言,可定制性高意味着更复杂的设置。
- 优点:
总的来说,UEFI 是一种更现代、功能更全面的固件接口,提供了更好的安全性和更高的效率,但可能存在与老旧硬件的兼容性问题。而传统 BIOS 在老旧系统上运行更为稳定,但在性能和安全性方面不如 UEFI。
文件系统
Linux 支持多种文件系统,每种都有其独特的特性和用途。以下是一些常用的 Linux 文件系统及其特点:
-
ext4(第四代扩展文件系统):
- 优点:广泛支持,稳定性好,Linux 内核集成。在此之前还有 ext2 与 ext3,支持大文件和大存储,具有日志功能,可减少数据损坏的风险。
- 缺点:相较于一些最新的文件系统,如 Btrfs 和 ZFS,功能较为有限。
-
XFS:
- 优点:适合处理大文件和大容量存储,良好的扩展性和性能,支持在线数据校验和修复(Rocky Linux 默认文件系统)。
- 缺点:对小文件的处理效率不如 ext4。
-
Btrfs(B-tree 文件系统):
- 优点:提供高级功能,如快照、动态 inode 分配和子卷。支持数据压缩和错误校正,适合动态扩展存储。
- 缺点:相对较新,稳定性和性能可能不及 ext4 和 XFS。
-
ZFS:
- 优点:高级文件系统和逻辑卷管理器,支持高级功能如快照、复制、数据校验。优秀的数据完整性保护。
- 缺点:内存使用较多,不是 Linux 内核的一部分,需要额外安装和配置。
-
FAT 32 和 NTFS(通常用于 Windows 兼容性):
- 优点:广泛的设备兼容性和操作系统支持。
- 缺点:FAT32 不支持大于 4 GB 的文件,NTFS 在 Linux 上的写入性能不如 Windows。
-
squashfs(只读压缩文件系统):
- 优点:高压缩比,适合用于只读存储介质如 Live CD/DVD。
- 缺点:只读,不适合需要频繁写入操作的场景。
这些文件系统各有所长,适用于不同的场景和需求。选择合适的文件系统通常取决于特定的使用需求、性能要求和系统兼容性。
分区设计
在 Linux 系统中,分区的设计取决于系统的用途和您的具体需求,以下为常见分区方式,建议根据实际需求进行调整。
/boot
分区:- 大小:建议大小为 200 MB 至 500 MB。
- 作用:这个分区用来存储启动时需要的文件,包括 Linux 内核(vmlinuz),初始内存映像(initrd),以及启动加载器(如 GRUB)。这个分区不需要很大,因为它只包含了启动系统所必需的文件。
- 根(
/
)分区:- 大小:建议分配 10 GB-20 GB。
- 作用:根分区是必须的,因为它包含了系统的核心文件,包括系统库、命令行工具、系统配置文件等。根分区的大小取决于您打算安装的软件和系统的用途。一个基础的服务器安装可能不需要太多空间,但是一个带有图形界面和许多额外软件的桌面系统可能需要更多空间。
- 交换(
swap
)分区:- 大小:建议大小与内存相等,即 8 GB。
- 作用:当系统的物理内存(RAM)用尽时,交换分区允许系统使用磁盘空间作为临时内存。这有助于避免内存耗尽导致的系统崩溃。如果服务器内存充足且不打算使用休眠功能,可以考虑分配较小的交换分区或者完全不分配。在一些特定软件部署的时候建议将 swap 关闭,比如: kubernetes 等。
/home
分区:- 大小:根据剩余空间来定,可以考虑分配剩余空间的大部分,例如 4 GB-5 GB。
- 作用:
/home
分区用于存储用户的个人文件和配置,将其单独分区有助于在升级或重装系统时保护用户数据。
/var
分区(可选):- 大小:建议大小为 1 GB-2 GB。
- 作用:
/var
分区存放经常变化的文件,比如日志文件(/var/log
)、包缓存(/var/cache
)和邮件队列(/var/mail
)。在高流量的服务器上,将/var
分区独立出来可以防止日志文件占满整个根分区。
/tmp
分区(可选):- 大小:建议大小为 1 GB-2 GB。
- 作用:
/tmp
分区用于存储临时文件。这可以防止临时文件占用过多的磁盘空间,影响系统的稳定性。
请注意,这些只是建议的值,实际分区大小应根据实际情况进行调整。对于生产服务器,通常还会考量和服务器的用途进行更详细的规划。例如,如果服务器将被用作 Web 服务器,可能需要为 /var
分配更多空间,因为 Web 服务器的日志文件可能会快速增长。另外,随着虚拟内存技术的发展,现在的 Linux 可以使用交换文件而非交换分区,这样可以更灵活地管理交换空间。同样,使用 LVM(逻辑卷管理)可以在之后根据需要调整分区大小,而不必在安装时就确定最终大小。
密码策略
Linux 系统的 root 密码应该遵循强密码策略以确保系统安全。一个强密码通常包含以下组合:
- 长度:密码应至少包含 8 个字符,更长的密码(如 12 个或更多字符)会更安全。
- 大写字母:至少包含一个大写字母(A-Z)。
- 小写字母:至少包含一个小写字母(a-z)。
- 数字:至少包含一个数字(0-9)。
- 特殊字符:至少包含一个特殊字符,如
! @ # $ % ^ & * ( ) _ + - = { } [ ] \ | ; : ' " , < . > / ?
等。
比如 D00aB@ssC0rd!2204
相对来说更难被破解。此外,应当避免使用容易被猜到的弱密码,如: “password”、“123456”或者连续的键盘模式如: “qwerty”、“12345678”。还应避免使用个人信息,如生日、姓名、宠物名字等,因为这些信息可能容易被他人获取。
为了进一步加强安全性,可以定期更改 root 密码,并确保不在多个账户或网站上重复使用相同的密码。一般 Linux 系统会内置密码复杂度设置提示,当然您也可以自己在系统层强制定义,一般在做安全等保时,会对密码设置给出严格要求,确保用户设置的密码符合安全标准。此外,使用密码管理器可以帮助生成和管理复杂的密码,例如木子一直在使用的 Bitwarden 密码管理软件。还可以考虑使用密钥认证代替密码认证(尤其是在 SSH 远程登录时),因为它提供了更高级别的安全性。在这种配置中,密码登录通常会被禁用,并且用户必须拥有私钥才能进行认证。
系统安装
通过对前面 BIOS 引导方式、文件系统、分区设计、密码策略的了解,相信对于接下来的系统安装会更加得心应手。这里以 Proxmox 虚拟机安装为例,对于物理机安装,需要我们设置 BIOS 从 U 盘采用 UEFI 方式引导,其它步骤与 Proxmox 安装没有区别。
1) 虚拟机名称、VMID、所在节点设置。
2) 配置系统镜像,选择我们刚刚下载的镜像 Rocky-9.3-x86_64-minimal.iso
。
3) 启用 Qemu Agent
,SCSI 控制器:VirtIO SCSI 。
4) 磁盘设置,总线类型:SCSI,磁盘大小:20 GB,启用 SSD 仿真。
5) CPU 设置:2 Sockets 4 Cores,类别: host
,不然启动会出现报错:end Kernel panic - not syncing: Attempted to kill init! exit code=0x00007f00
,错误参考链接:创建VM时内核崩溃。
6) 内存:8 GB,是否启用 Ballooning 设备,Ballooning 中文名称: 内存气球技术,它最大的好处就是为云厂商提供超卖,当然此技术本身是为了更加合理的内存使用。但如果您在 Windows 服务器上跑 SQL Server 等消耗内存比较大的软件,不建议开启,这将严重影响数据库的正常使用。
7) 网卡模型:VirtIO,选择对应桥接设备,如果有划分不同的 VLAN,还需要打开 VLAN Tag 。
8) 确认配置没有问题后,点击【完成】 。
9) 启动虚拟机,开始安装 Rocky Linux,选择:Install Rocky Linux 9.3
。
10) 选择系统语言:简体中文(中国)。
11) 设置安装目的地、root 密码等,点击【开始安装】 。
12) 磁盘配置有两种方式: 自动与自定义。自动如下方截图所示配置即可。
13) 自定义相对来说复杂一些,详细参考下面系列图所示进行操作。同样的选择磁盘、自定义,点击【完成】。
14) 这时候会进到手动分区界面,设置挂载点及期望容量,点击【添加挂载点 (A)】。
15) 我们这里设置 /boot
分区 200 MiB,swap
交换分区 2 GiB,其它的空间都给到 /
根分区,同时这里我们可以看到 Rocky Linux 默认文件系统为 xfs
,我们可以根据自己的实际需要进行调整。另外后期如果是在 OpenStack、Proxmox、ESXI 等虚拟化环境中,我们可以根据需求单独挂载一个磁盘用于指定用途,将系统盘与数据盘完全分开。
16) 点击【接受更改】,完成自定义分区设置。
17) root 密码设置,建议采用强密码策略,这样可以避免密码被黑客破解,后期建议初始化系统后,将密码登录禁用,使用密钥进行管理。因为我们这里不设置其它账号,所以需要勾选【允许 root 用户使用密码进行 SSH 登录】。
18) 确保安装界面没有红色字样,即可点击【开始安装 (B)】。
19) 安装中 ……
20) 安装完成,点击【重启系统 (R)】。
到这里整个操作系统的安装就已经完成。
查看系统版本信息
重启进入系统后,我们可以通过以下两条命令查看系统版本及内核版本。Rocky Linux 9.3 默认内核版本为: 5.14.0 。
[root@localhost ~]# cat /etc/rocky-release
Rocky Linux release 9.3 (Blue Onyx)
# 默认内核版本 5.14.0
[root@localhost ~]# uname -r
5.14.0-362.8.1.el9_3.x86_64
ipv4.method 改成manual也无济于事
解决了,
systemclt restart NetworkManager
后,再nmcli connection up ens18
就可以了。但有新问题,就是ping不通我设置的ip。
有三个可能的原因:
1、IP配置有误,查看网络管理篇。
2、防火墙设置问题,禁止了ICMP,查看防火墙配置篇。
3、IP 冲突。
实体机U盘启动安装的时候,到安装信息摘要这个界面时,安装源不能自己识别,手动也找不到
可以带上错误截图看看,盲猜可能的原因: