欧拉系统维护
一 安装docker
1.1 欧拉2403 安装docker
1.1.1 环境准备
# 欧拉中用 dnf-utils 替代 yum-utils(功能完全一致) sudo dnf install -y dnf-utils device-mapper-persistent-data lvm2 libseccomp-devel1.1.2 安装Docker Engine
1.1.2.1 配置 Docker 国内源(阿里云)
# 1. 移除可能存在的旧 Docker 源 sudo rm -f /etc/yum.repos.d/docker-ce.repo # 2. 添加阿里云 Docker 源(适配 CentOS 9/欧拉 24.03) sudo tee /etc/yum.repos.d/docker-ce.repo <<-'EOF' [docker-ce-stable] name=Docker CE Stable - $basearch baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/9/$basearch/stable enabled=1 gpgcheck=1 gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg EOF # 3. 重建缓存 sudo dnf makecache1.1.2.2 卸载冲突组件 + 安装 Docker
# 1. 安装 Docker 核心组件 sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # 2. 启动 Docker 并设置开机自启 sudo systemctl start docker sudo systemctl enable docker # 2. 验证 Docker 安装 docker --version # 预期输出:Docker version 26.x.x, build XXXXX二 安装docker-compose
docker-compose 是个二进制文件,各版本安装步骤相同,具体安装时要注意docker-compose 于docker 的版本兼容性
2.1 独立版(兼容旧脚本,带横杠)
二进制文件 下载地址 各位自己定,我这里用的是华为的镜像地址
# 1. 从 华为国内镜像下载二进制包 sudo curl -L https://repo.huaweicloud.com/docker-compose/v2.27.0/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose # 2. 添加可执行权限 sudo chmod +x /usr/local/bin/docker-compose # 3. 创建软链接(全局可用) sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose # 4. 验证 docker-compose --version # 预期输出:docker-compose version v2.27.0, build XXXXX三 挂载数据盘
3.1 通用挂载方式(2T 以上及以下均可挂载)
3.1.1 为什么以2T 为界限给出两种挂载方式
源于两种不同的硬盘分区表格式:MBR 和 GPT
| 对比项 | MBR (主引导记录) | GPT (全局唯一标识符分区表) |
|---|---|---|
| 最大支持容量 | 2TB | 18EB (约 1800万TB,远超当前硬件水平) |
| 分区工具 | fdisk | parted |
| 文件系统 | 通常配合 ext4 | 通常配合 XFS (大文件性能更好) |
| 适用场景 | 老旧系统,小于 2T 的系统盘 | 现代标准,所有数据盘,大于 2T 的硬盘 |
核心区别解释:
- 容量限制:MBR 是一种非常古老的分区标准,它在设计上限制了硬盘的最大容量为 2TB。如果你有一块 3TB 的硬盘,使用 MBR 分区,系统只能识别出前 2TB,剩下的 1TB 会“凭空消失”。
- 工具不同:因为 MBR 和 GPT 的结构不同,所以管理它们的工具也不同。fdisk 是专门管理 MBR 的,它无法处理 GPT;而 parted 是一个功能强大的现代工具,它支持 GPT(同时也支持 MBR,但通常用于 GPT)。
- 可靠性:GPT 在硬盘的开头和结尾都存储了分区表的备份,比 MBR 更加安全可靠,不易因意外断电等原因导致分区表损坏。
总结
- 2T 分界线的由来:是因为 MBR 分区表的容量限制。
* 为什么推荐 GPT (parted):因为它没有 2T 的容量限制,是现代 Linux 系统的标准,更加安全可靠。它是一种真正通用的方式,无论硬盘大小,都可以使用。
3.1.2 通用挂载方案(兼容所有容量磁盘,以 /dev/sda 为例)
3.1.2.1. 安装工具并分区
# 安装 parted 工具 sudo dnf install -y parted # 进入 parted 交互模式 sudo parted /dev/sdb在 parted 交互界面中,依次输入以下命令:
mklabel gpt # 创建 GPT 分区表 (这一步会清除硬盘上所有数据) mkpart primary 0% 100% # 创建一个占据整个硬盘的主分区 print # 查看分区是否成功,应该会显示 /dev/s quit # 退出执行后会生成 /dev/sda1 分区(GPT 格式,无论 2T 以下 / 以上都适用)。
3.1.2.2 格式化分区(ext4 通用格式)
# 格式化 /dev/sdb1 为 ext4(通用文件系统,兼容所有Linux) mkfs.ext4 /dev/sdb1可选:如果需要更好的性能 / 兼容性,也可以用 xfs(mkfs.xfs /dev/sdb1),挂载方式完全一致。
3.1.2.3:创建挂载目录并临时挂载
# 1. 创建 /data 目录 mkdir -p /data # 2. 临时挂载(立即生效,重启丢失) mount /dev/sdb1 /data # 3. 验证挂载结果 df -h /data3.1.2.4 设置开机自动挂载(通用方式,永不丢失)
方式:用 UUID 挂载(比设备名更稳定,避免磁盘名变动)
# 1. 获取 /dev/sdb1 的 UUID blkid /dev/sdb1 # 输出示例:/dev/sda1: UUID="d6164931-dd99-4faa-a6ba-c33b8b2e9b5f" TYPE="ext4" # 2. 备份 fstab(防止改错) cp /etc/fstab /etc/fstab.bak.orig # 3. 写入 fstab(替换下面的 UUID 为你自己的) echo 'UUID=d6164931-dd99-4faa-a6ba-c33b8b2e9b5f /data ext4 defaults 0 0' >> /etc/fstab # 4. 验证 fstab(关键!无报错才说明配置正确) mount -a说明:defaults 包含 rw(可读写)、suid、dev、exec、auto、nouser、async 等通用参数,满足绝大多数场景;最后的 0 0 是备份 / 检查标记,通用配置。
