磁盘挂载
你有一块 5TB 的磁盘(sdb),目前未分区和挂载,想将其挂载到 /home/docker 目录下,用于存储 Docker 数据(包括 Jenkins 的持久化数据)。以下是详细步骤,将这块磁盘分区、格式化并挂载到指定目录,并确保开机自动挂载。
步骤
1. 检查磁盘状态
你已经用 lsblk 确认 sdb 是未使用的 5TB 磁盘,没有分区或挂载点。无需额外验证,直接开始操作。
2. 创建分区
使用 fdisk 为 sdb 创建一个主分区,占用全部 5TB 空间:
fdisk /dev/sdb
- 输入以下命令(按提示操作):
- n:新建分区
- p:选择主分区
- 1:分区号 1
- 默认起始扇区(直接回车)
- 默认结束扇区(直接回车,使用全部空间)
- w:写入分区表并退出
完成后,运行:
lsblk
应看到:
sdb 8:16 0 5T 0 disk └─sdb1 8:17 0 5T 0 part
3. 格式化分区
将 sdb1 格式化为 ext4 文件系统(推荐用于大容量磁盘,稳定且兼容性好):
mkfs.ext4 /dev/sdb1
- 这会需要一些时间,取决于磁盘大小。
- 如果需要更快格式化,可以加 -F 参数,但默认即可。
4. 创建挂载点
创建 /home/docker 目录(如果不存在):
mkdir -p /home/docker
5. 临时挂载并测试
临时挂载 sdb1 到 /home/docker:
mount /dev/sdb1 /home/docker
验证挂载是否成功:
df -h
输出应类似:
Filesystem Size Used Avail Use% Mounted on /dev/sdb1 5.0T 0M 5.0T 0% /home/docker
6. 设置开机自动挂载
编辑 /etc/fstab 文件,确保重启后自动挂载:
echo "/dev/sdb1 /home/docker ext4 defaults 0 0" >> /etc/fstab
- 验证
fstab
配置:
mount -a
如果没有报错,说明配置正确。
8. 验证磁盘可用性
写入测试文件:
echo "Test" > /home/docker/test.txt cat /home/docker/test.txt
尝试用 fdisk 为 5TB 的磁盘(/dev/sdb)创建分区,但由于 fdisk 使用的是 DOS/MBR 分区表格式,它最大只支持 2TB 的分区
修正分区并挂载 5TB 磁盘
1. 删除现有分区
由于 sdb1 只用了 2TB,我们需要删除它并重新创建分区。当前分区还未格式化或挂载,直接操作即可:
fdisk /dev/sdb
- 输入以下命令:
- d:删除分区(只有一个分区,会自动选中)
- w:写入更改并退出
验证分区已删除:
lsblk
应看到 sdb 下没有子分区。
2. 使用 parted 创建 GPT 分区
parted 支持 GPT 分区表,适合大容量磁盘:
parted /dev/sdb
在 parted 交互界面中输入以下命令:
(parted) mklabel gpt # 创建 GPT 分区表 (parted) mkpart primary 0% 100% # 创建一个主分区,使用全部空间 (parted) set 1 lba on # 兼容传统系统(可选) (parted) print # 查看分区信息
输出类似:
Model: ATA ST5000DM000-1FK1 (scsi) Disk /dev/sdb: 5500GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 5500GB 5500GB primary lba
- 输入 quit 退出 parted。
验证分区:
lsblk
应看到:
sdb 8:16 0 5T 0 disk └─sdb1 8:17 0 5T 0 part
3. 格式化分区
将 sdb1 格式化为 ext4:
mkfs.ext4 /dev/sdb1
- 这可能需要几分钟,因磁盘较大。
4. 挂载到 /home/docker
创建挂载点并临时挂载:
mkdir -p /home/docker mount /dev/sdb1 /home/docker
验证:
df -h
输出应显示:
Filesystem Size Used Avail Use% Mounted on /dev/sdb1 5.0T 0M 5.0T 0% /home/docker
5. 设置开机自动挂载
编辑 /etc/fstab:
echo "/dev/sdb1 /home/docker ext4 defaults 0 0" >> /etc/fstab
测试配置:
mount -a
无报错即成功。