第1步:查看系统磁盘状态
查看已挂载分区的空间使用(最常用)
命令- 用途:快速看所有已挂载分区的总容量、已用空间、剩余空间和挂载点
- 输出关键列:
- Size:总容量
- Used:已用空间
- Avail:剩余空间
- Mounted on:挂载点(相当于 Windows 的盘符路径)
- 挂载点为 / 的就是系统根分区(对应 Windows 的 C 盘)
显示结果- :/$ df -h
- Filesystem Size Used Avail Use% Mounted on
- tmpfs 6.2G 1.6M 6.2G 1% /run
- /dev/mapper/ubuntu--vg-ubuntu--lv 98G 13G 81G 14% /
- tmpfs 16G 0 16G 0% /dev/shm
- efivarfs 192K 35K 153K 19% /sys/firmware/efi/efivars
- none 1.0M 0 1.0M 0% /run/credentials/systemd-journald.service
- none 1.0M 0 1.0M 0% /run/credentials/systemd-resolved.service
- /dev/nvme0n1p2 2.0G 186M 1.7G 11% /boot
- tmpfs 16G 0 16G 0% /tmp
- /dev/nvme0n1p1 1.1G 6.4M 1.1G 1% /boot/efi
- none 1.0M 0 1.0M 0% /run/credentials/systemd-networkd.service
- none 1.0M 0 1.0M 0% /run/credentials/getty@tty1.service
- tmpfs 3.1G 8.0K 3.1G 1% /run/user/1000
复制代码查看所有磁盘+分区结构(找未挂载的大盘)
命令- 用途:以树状结构列出所有物理硬盘、分区,包括未挂载的磁盘,最适合找你那块 1.8T 的西数数据盘
- 输出说明:
- disk 类型是整块物理硬盘,part 类型是硬盘上的分区
- MOUNTPOINT 为空的分区,就是还没挂载、系统还没在用的盘
- 命名规则:
- SATA 机械/固态硬盘:sda、sdb 依次编号,分区是 sda1、sdb1
- NVMe 固态硬盘:nvme0n1,分区是 nvme0n1p1
你的环境里,容量约 930G 的是金士顿系统盘(已挂载到 /),容量约 1.8T 且没有挂载点的就是西数大盘。
显示结果- :/$ lsblk
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
- sda 8:0 0 1.8T 0 disk
- └─sda1 8:1 0 1.8T 0 part
- nvme0n1 259:0 0 931.5G 0 disk
- ├─nvme0n1p1 259:1 0 1G 0 part /boot/efi
- ├─nvme0n1p2 259:2 0 2G 0 part /boot
- └─nvme0n1p3 259:3 0 928.5G 0 part
- └─ubuntu--vg-ubuntu--lv 252:0 0 100G 0 lvm /
复制代码查看详细磁盘分区表
命令- 用途:查看所有磁盘的完整分区信息,包含磁盘型号、分区格式、扇区信息等,精准识别硬件
- 适合确认磁盘型号、分区类型(NTFS/ext4 等),避免操作错硬盘
显示结果- :/$ sudo fdisk -l
- Disk /dev/nvme0n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
- Disk model: KINGSTON SNV3S1000G
- Units: sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
- Disklabel type: gpt
- Disk identifier: D5D50B53-EFE2-456B-B490-0B548C9E4324
- Device Start End Sectors Size Type
- /dev/nvme0n1p1 2048 2203647 2201600 1G EFI System
- /dev/nvme0n1p2 2203648 6397951 4194304 2G Linux filesystem
- /dev/nvme0n1p3 6397952 1953521663 1947123712 928.5G Linux filesystem
- Disk /dev/sda: 1.82 TiB, 2000398934016 bytes, 3907029168 sectors
- Disk model: WDC WD20PURX-69P
- Units: sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 4096 bytes
- I/O size (minimum/optimal): 4096 bytes / 4096 bytes
- Disklabel type: gpt
- Disk identifier: 1216FBBC-C9B0-40B5-B6E4-F20C98091528
- Device Start End Sectors Size Type
- /dev/sda1 2048 3906998271 3906996224 1.8T Microsoft basic data
- Disk /dev/mapper/ubuntu--vg-ubuntu--lv: 100 GiB, 107374182400 bytes, 209715200 sectors
- Units: sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
复制代码第2步:处理挂载磁盘
2.1. 格式化2TB数据盘为ext4
⚠️ 此操作会清空 /dev/sda1 上的所有原有数据,确认盘内无重要文件后再执行
执行过程会输出进度,完成后会提示 done,代表格式化成功。
执行结果- :/$ sudo mkfs.ext4 /dev/sda1
- mke2fs 1.47.2 (1-Jan-2025)
- /dev/sda1 contains a ntfs file system labelled '系统'
- Proceed anyway? (y,N) y
- Creating filesystem with 488374272 4k blocks and 122332032 inodes
- Filesystem UUID: c53f2055-fafb-4b55-b9aa-b863f6f84d7d
- Superblock backups stored on blocks:
- 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
- 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
- 102400000, 214990848
- Allocating group tables: done
- Writing inode tables: done
- Creating journal (262144 blocks): done
- Writing superblocks and filesystem accounting information: done
复制代码2.2.创建挂载目录并挂载
- 创建挂载点 /data(创建时这个目录还在系统盘,挂载后就自动对应机械盘)
我这里执行完命令没有任何显示
- 将2TB盘分区挂载到 /data 目录
- sudo mount /dev/sda1 /data
复制代码我这里执行完命令没有任何显示
2.3.验证挂载是否正确
执行以下命令,确认目录和磁盘的对应关系: 正常输出会显示:
- Filesystem 列为 /dev/sda1
- Size 列约为 1.8T
- Mounted on 列为 /data
出现以上结果,就说明 /data 已经完全绑定2TB机械盘,后续MySQL数据放这里不会占用系统盘空间。
执行结果- :/$ sudo mkdir /data
- :/$ sudo mount /dev/sda1 /data
- :/$ df -h /data
- Filesystem Size Used Avail Use% Mounted on
- /dev/sda1 1.8T 2.1M 1.7T 1% /data
复制代码2.4.设置开机自动挂载
不配置的话服务器重启后挂载会失效,数据就会写回系统盘。
2.4.1.获取分区唯一UUID输出类似 UUID="xxxxx-xxxx-xxxx",复制引号内的UUID字符串。
运行命令结果 - :/$ sudo blkid /dev/sda1
- /dev/sda1: UUID="c53f2055-fafb-4b55-b9aa-b863f6f84d7d" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="Basic data partition" PARTUUID="a850e5ae-4ad1-4398-a0b3-5d3f482cc37e"
复制代码2.4.2.编辑开机挂载配置文件在文件末尾添加一行(把UUID替换成你刚才复制的值): - UUID=你复制的UUID值 /data ext4 defaults 0 2
复制代码运行命令结果 - # /etc/fstab: static file system information.
- #
- # Use 'blkid' to print the universally unique identifier for a
- # device; this may be used with UUID= as a more robust way to name devices
- # that works even if disks are added and removed. See fstab(5).
- #
- # <file system> <mount point> <type> <options> <dump> <pass>
- # / was on /dev/ubuntu-vg/ubuntu-lv during curtin installation
- /dev/disk/by-id/dm-uuid-LVM-fHF4nGxFdC1oQUQy5ZPvEKGgfKWVR7c2PAjMZGkKznh0rmYml8HWht2X0gxxiI3f / ext4 defaults 0 1
- # /boot was on /dev/nvme0n1p2 during curtin installation
- /dev/disk/by-uuid/4d1d8a20-e859-4f59-85ef-239a2663e8fb /boot ext4 defaults 0 1
- # /boot/efi was on /dev/nvme0n1p1 during curtin installation
- /dev/disk/by-uuid/4854-CB8D /boot/efi vfat defaults 0 1
- /swap.img none swap sw 0 0
- UUID=c53f2055-fafb-4b55-b9aa-b863f6f84d7d /data ext4 defaults 0 2
复制代码2.4.3.验证配置合法性执行后没有任何报错输出,就代表配置正确,重启服务器也会自动挂载。
这一步完成后,2TB盘的挂载就彻底搞定了,接下来我们就可以在 /data 下创建MySQL目录、启动容器,所有数据库文件都会存在机械盘里。 |