内容
本文主要介绍了 CentOS 系统的阿里云 ECS 服务器中数据盘的格式化和挂载多分区 ext4 格式的文件系统.
版本
操作系统: CentOS 7.2 64 位
适合人群
Linux 运维人员
说明
参考
Linux 格式化数据盘: https://help.aliyun.com/document_detail/25426.html
ext2,ext3 与 ext4 的区别: https://blog.csdn.net/macrossdzh/article/details/5973639
步骤
查看文件系统的使用情况
通过 "df -h" 命令查看当前文件系统的使用情况, 可以观察到文件系统的名称, 总容量, 已用, 可用, 使用比例, 挂载点等信息.
- [user1@iz8vb62snc6e5cage5yvz9z /]$ df -h
- # 文件系统的名称 总容量 已用 可用 使用比例 挂载点
- Filesystem Size Used Avail Use% Mounted on
- /dev/vda1 20G 1.9G 17G 11% /
- devtmpfs 3.9G 0 3.9G 0% /dev
- tmpfs 3.9G 0 3.9G 0% /dev/shm
- tmpfs 3.9G 320K 3.9G 1% /run
- tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
- tmpfs 783M 0 783M 0% /run/user/0
由于笔者所购服务器还含有 50G 的数据盘, 但是通过 "df -h" 命令没有查找到. 经过查阅阿里云的文档, 发现数据盘需要格式化并挂载后才能正常使用.
下面就演示如何将数据盘分成两个 25G 的区, 格式化分区后分别挂载到 / home/user1/Redis/data 和 / home/user1/program. 这里需要先创建这两个目录, 此处就不再演示.
查看磁盘的信息
通过 "fdisk -l" 命令可以查看当前磁盘的信息, 本服务器有个 20GB 的系统盘 / dev/vda, 和 50GB 的数据盘 / dev/vdb. 可以看到磁盘的扇区数, 每个扇区的大小 (512 字节).
- [user1@iz8vb62snc6e5cage5yvz9z /]$ sudo fdisk -l
- #20G 系统盘 / dev/vda
- Disk /dev/vda: 21.5 GB, 21474836480 bytes, 41943040 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
- Disk label type: dos
- Disk identifier: 0x000d2717
- Device Boot Start End Blocks Id System
- /dev/vda1 * 2048 41943039 20970496 83 Linux
- #50GB 的数据盘 / dev/vdb
- Disk /dev/vdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
- Units = sectors of 1 * 512 = 512 bytes #每个扇区的大小 (512 字节)
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
执行分区操作
运行 fdisk /dev/vdb 对数据盘进行分区, 此处创建两个分区, 大小分别为 25GB.
步骤 1: 输入 n 并按回车键: 创建一个新分区; 如果有旧的分区, 可以输入 d 进行删除.
步骤 2: 输入 p 并按回车键: 选择主分区类型. 创建 4 个以内的分区, 都可以使用主分区类型.
步骤 3: 输入分区编号并按回车键, 第一个分区的分区编号设置为 1, 第二个分区的分区编号设置为 2.
步骤 4: 分别输入第一个扇区的编号和最后一个扇区的编号, 此处第一个分区的扇区从 2048 到 52400000, 第二个分区的扇区从 52400128 到 104857599.
如果创建多个分区, 重复执行上述 4 个步骤.
步骤 5: 输入 wq 并按回车键, 开始分区.
- [user1@iz8vb62snc6e5cage5yvz9z ~]$ sudo fdisk /dev/vdb
- Welcome to fdisk (util-Linux 2.23.2).
- Changes will remain in memory only, until you decide to write them.
- Be careful before using the write command.
- # 如果有旧的分区, 可以输入 d 进行删除.
- Command (m for help): d
- Selected partition 3
- Partition 3 is deleted
- # 首先输入 n 并按回车键: 创建一个新分区.
- Command (m for help): n
- Partition type:
- p primary (0 primary, 0 extended, 4 free) #主分区类型
- e extended #扩展分区类型
- # 输入 p 并按回车键: 选择主分区类型
- Select (default p): p
- # 输入分区编号并按回车键
- Partition number (1-4, default 1): 1
- # 输入第一个扇区的编号
- First sector (2048-104857599, default 2048):
- Using default value 2048
- # 输入最后一个扇区的编号
- Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599): 52400000
- Partition 1 of type Linux and of size 25 GiB is set
- # 重复执行上述 4 个步骤, 创建第二个分区
- Command (m for help): n
- Partition type:
- p primary (1 primary, 0 extended, 3 free)
- e extended
- Select (default p): p
- Partition number (2-4, default 2): 2
- First sector (52400001-104857599, default 52400128):
- Using default value 52400128
- Last sector, +sectors or +size{K,M,G} (52400128-104857599, default 104857599):
- Using default value 104857599
- Partition 2 of type Linux and of size 25 GiB is set
- # 最后输入 wq 并按回车键, 开始分区.
- Command (m for help): wq
- The partition table has been altered!
- Calling ioctl() to re-read partition table.
- Syncing disks.
确认分区信息
再次执行 "fdisk -l" 命令可以查看当前磁盘的信息, 可以看到上述操作创建的分区 / dev/vdb1 与 / dev/vdb2.
- [user1@iz8vb62snc6e5cage5yvz9z ~]$ sudo fdisk -l
- Disk /dev/vda: 21.5 GB, 21474836480 bytes, 41943040 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
- Disk label type: dos
- Disk identifier: 0x000d2717
- Device Boot Start End Blocks Id System
- /dev/vda1 * 2048 41943039 20970496 83 Linux
- Disk /dev/vdb: 53.7 GB, 53687091200 bytes, 104857600 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
- Disk label type: dos
- Disk identifier: 0xc95b5e42
- # 上述操作创建的分区 / dev/vdb1 与 / dev/vdb2
- Device Boot Start End Blocks Id System
- /dev/vdb1 2048 52400000 26198976+ 83 Linux
- /dev/vdb2 52400128 104857599 26228736 83 Linux
创建文件系统
执行 mkfs.ext4 命令, 分别在新分区 / dev/vdb1 与 / dev/vdb2 上创建 ext4 类型的文件系统.
- [user1@iz8vb62snc6e5cage5yvz9z ~]$ sudo mkfs.ext4 /dev/vdb1
- mke2fs 1.42.9 (28-Dec-2013)
- Filesystem label=
- OS type: Linux
- Block size=4096 (log=2)
- Fragment size=4096 (log=2)
- Stride=0 blocks, Stripe width=0 blocks
- 1638400 inodes, 6549744 blocks
- 327487 blocks (5.00%) reserved for the super user
- First data block=0
- Maximum filesystem blocks=2155872256
- 200 block groups
- 32768 blocks per group, 32768 fragments per group
- 8192 inodes per group
- Superblock backups stored on blocks:
- 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
- 4096000
- Allocating group tables: done
- Writing inode tables: done
- Creating journal (32768 blocks): done
- Writing superblocks and filesystem accounting information: done
这里创建的文件系统类型为 ext4, 阿里云官方文档创建的是 ext3, 下面从参考的文章中摘录一些内容说明 ext3 和 ext4 的关系:
Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4. Ext4 是 Ext3 的改进版, 修改了 Ext3 中部分重要的数据结构, 而不仅仅像 Ext3 对 Ext2 那样, 只是增加了一个日志功能而已. Ext4 可以提供更佳的性能和可靠性, 还有更为丰富的功能: 与 Ext3 兼容; 更大的文件系统和更大的文件; 多块分配; 延迟分配; 日志校验; 在线碎片整理等.
备份并写入分区信息
首先备份分区信息文件 / etc/fstab, 然后在该文件下追加 / dev/vdb1 与 / dev/vdb2 的分区信息, 包括挂载点和文件系统的格式.
- # 备份分区信息文件
- [user1@iz8vb62snc6e5cage5yvz9z /]$ sudo cp /etc/fstab /etc/fstab.bak
- #user1 用户使用 sudo 执行命令扔提示权限不足, 切换到 root 账户下执行命令
- [user1@iz8vb62snc6e5cage5yvz9z data]$ sudo echo /dev/vdb1 /home/user1/Redis/data ext4 defaults 0 0>> /etc/fstab
- bash: /etc/fstab: Permission denied
- # 追加 / dev/vdb1 的分区信息, 该分区挂载的路径为 / home/user1/Redis/data, 格式为 ext4
- [root@iz8vb62snc6e5cage5yvz9z data]# echo /dev/vdb1 /home/user1/Redis/data ext4 defaults 0 0>> /etc/fstab
- # 追加 / dev/vdb2 的分区信息, 该分区挂载的路径为 / home/user1/program, 格式为 ext4
- [root@iz8vb62snc6e5cage5yvz9z home]# echo /dev/vdb2 /home/user1/program ext4 defaults 0 0>> /etc/fstab
- # 查看分区信息
- [root@iz8vb62snc6e5cage5yvz9z home]# cat /etc/fstab
- #
- # /etc/fstab
- # Created by anaconda on Thu Aug 17 07:38:21 2017
- #
- # Accessible filesystems, by reference, are maintained under '/dev/disk'
- # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
- #
- UUID=976105f5-f402-456c-aadd-50de49ff88f9 / ext4 defaults 1 1
- /dev/vdb1 /home/user1/Redis/data ext4 defaults 0 0
- /dev/vdb2 /home/user1/program/ ext4 defaults 0 0
挂载分区
使用 mount 将分区挂载到对应的路径下, 并使用 df -h 观察挂载后的文件系统信息.
到此为止, 完成了数据盘的分区, 格式化, 挂载等工作; 不需要重启实例即可开始使用新的文件系统.
- # 使用 mount 将分区挂载到对应的路径下
- [root@iz8vb62snc6e5cage5yvz9z data]# mount /dev/vdb1 /home/user1/Redis/data
- [root@iz8vb62snc6e5cage5yvz9z data]# mount /dev/vdb2 /home/user1/program
- # 使用 df -h 观察挂载后的文件系统
- [root@iz8vb62snc6e5cage5yvz9z home]# df -h
- Filesystem Size Used Avail Use% Mounted on
- /dev/vda1 20G 1.9G 17G 11% /
- devtmpfs 3.9G 0 3.9G 0% /dev
- tmpfs 3.9G 0 3.9G 0% /dev/shm
- tmpfs 3.9G 328K 3.9G 1% /run
- tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
- tmpfs 783M 0 783M 0% /run/user/0
- /dev/vdb1 25G 45M 24G 1% /home/user1/Redis/data
- /dev/vdb2 25G 45M 24G 1% /home/user1/program
来源: https://www.cnblogs.com/lonelyJay/p/9848295.html