在Linux操作下,MBR分区支持的最大容量为2 TB,超过2 TB需要选用GPT分区模式。此时fdisk分区工具将无法使用,需要采用parted工具。
使用parted进行分区
运行命令fdisk -l查看数据盘是否存在。
返回结果应包括如下所示的信息。如果没有,表示您未挂载数据盘。
[root@host-192-168-1-7 ~]# fdisk -l
磁盘 /dev/vda:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00025b89
设备 Boot Start End Blocks Id System
/dev/vda1 * 2048 2099199 1048576 83 Linux
/dev/vda2 2099200 104857599 51379200 8e Linux LVM
磁盘 /dev/mapper/centos_host--11--1--3--86-root:48.4 GB, 48444211200 字节,94617600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos_host--11--1--3--86-swap:4160 MB, 4160749568 字节,8126464 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/vdb:2199.0 GB, 2199023255552 字节,4294967296 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
运行命令parted /dev/vdb开始分区。
运行命令mklabel gpt,将默认的MBR分区格式转为GPT分区格式。
运行命令mkpart primary 1 100%,划分一个主分区,并设置分区的开始位置和结束位置。
运行命令align-check optimal 1检查分区是否对齐。
[root@host-192-168-1-7 ~]# parted /dev/vdb
GNU Parted 3.1
使用 /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) mkpart primary 1 100%
(parted) align-check optimal 1
1 aligned
#说明 如果返回的是1 not aligned,说明分区未对齐,建议您运行以下命令 ,再根据(<optimal_io_size>+<alignment_offset>)/<physical_block_size>的公式计算出最佳分区模式的起始扇区值。假设1024为计算得出的推荐扇区值,则您可以运行mkpart primary 1024s 100%重新划分一个主分区。
#[root@ecshost~ ]# cat /sys/block/vdd/queue/optimal_io_size
#[root@ecshost~ ]# cat /sys/block/vdd/queue/minimum_io_size
#[root@ecshost~ ]# cat /sys/block/vdd/alignment_offset
#[root@ecshost~ ]# cat /sys/block/vdd/queue/physical_block_size
(parted) t 1 lvm
(parted) p
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
1 1049kB 2199GB 2199GB primary lvm
(parted) q
信息: You may need to update /etc/fstab.
运行命令partprobe,使系统重读分区表。
partprobe
运行以下命令,为/dev/vdb1分区创建一个文件系统。
[root@host-192-168-1-7 ~]# mkfs -t xfs /dev/vdb1
meta-data=/dev/vdb1 isize=512 agcount=4, agsize=134217600 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=536870400, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=262143, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
配置LVM
为了将来扩展磁盘方便,统一采用lvm逻辑卷管理磁盘。
[root@host-192-168-1-3 ~]# pvcreate /dev/vdb1
[root@host-192-168-1-7 ~]# pvcreate /dev/vdb1
WARNING: xfs signature detected on /dev/vdb1 at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/vdb1.
Physical volume "/dev/vdb1" successfully created.
[root@host-192-168-1-3 ~]# vgcreate vg_data /dev/vdb1
[root@host-192-168-1-7 ~]# vgcreate vg_data /dev/vdb1
Volume group "vg_data" successfully created
[root@host-192-168-1-3 ~]# lvcreate -l 100%VG -n lv_data vg_data
[root@host-192-168-1-7 ~]# lvcreate -l 100%VG -n lv_data vg_data
Logical volume "lv_data" created.
[root@host-192-168-1-3 /]# mkfs.xfs /dev/vg_data/lv_data
[root@host-192-168-1-7 ~]# mkfs.xfs /dev/vg_data/lv_data
meta-data=/dev/vg_data/lv_data isize=512 agcount=4, agsize=134217472 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=536869888, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=262143, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
设置开机自动挂载磁盘分区
设置云服务器系统启动时自动挂载磁盘分区,不能采用在“/etc/fstab”直接指定设备名(比如/dev/vdb1)的方法,因为云中设备的顺序编码在关闭或者开启云服务器过程中可能发生改变,例如/dev/vdb1可能会变成/dev/vdb2。推荐使用UUID来配置自动挂载磁盘分区。
说明:
UUID(universally unique identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。
以root用户登录弹性云服务器。
执行如下命令,创建文件系统。
mkfs.文件格式 逻辑卷路径
命令示例:
mkfs.xfs /dev/vg_data/lv_data
回显类似如下信息:
[root@host-192-168-1-7 ~]# mkfs.xfs /dev/vg_data/lv_data
meta-data=/dev/vg_data/lv_data isize=512 agcount=4, agsize=134217472 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=536869888, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=262143, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
执行如下命令,创建挂载目录。
mkdir 挂载目录
命令示例:
mkdir /data
执行如下命令,将文件系统挂载到目录下。
mount 逻辑卷路径 挂载目录
命令示例:
mount /dev/vg_data/lv_data /data
执行如下命令,查询文件系统挂载信息。
mount | grep 挂载目录
命令示例:
mount | grep /data
回显类似如下信息:
[root@ecs-lvmtest ~]# mount | grep /data
/dev/mapper/vg_data-lv_data on /data type xfs (rw,relatime,data=ordered)
“dev/mapper/vg_data-lv_data”为文件系统路径,记录此路径,步骤6中需要使用此路径。
执行以下步骤,设置云服务器系统启动时自动挂载文件系统。
如果未进行此项设置,在弹性云服务器重启时重新手动挂载文件系统。
执行如下命令,查询文件系统的UUID。
blkid 文件系统路径
以查询“dev/mapper/vg_data-lv_data”的UUID为例:
blkid /dev/mapper/vg_data-lv_data
回显类似如下信息:
[root@host-192-168-1-7 ~]# blkid /dev/mapper/vg_data-lv_data
/dev/mapper/vg_data-lv_data: UUID="4b539689-9b7f-4ffa-bf1b-d676135bb167" TYPE="xfs"
UUID为"4b539689-9b7f-4ffa-bf1b-d676135bb167"。
执行以下命令,打开“/etc/fstab”文件。
vi /etc/fstab
回显类似如下信息:
[root@ecs-lvmtest ~]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Nov 7 14:28:26 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=27f9be47-838b-4155-b20b-e4c5e013cdf3 / ext4 defaults 1 1
UUID=2b2000b1-f926-4b6b-ade8-695ee244a901 /boot ext4 defaults 1 2
按“i”进入编辑模式。
将光标移至文件末尾,按“Enter”,添加如下内容。
UUID=4b539689-9b7f-4ffa-bf1b-d676135bb167 /data xfs defaults 0 0
内容说明如下:
第一列:UUID,此处填写1查询的UUID;
第二列:文件系统的挂载目录,此处填写步骤3创建的挂载目录“/Data1”;
第三列:文件系统的文件格式,此处填写步骤2设置的文件格式“ext4”;
第四列:挂载选项,此处以“defaults”为例;
第五列:备份选项,设置为“1”时,系统自动对该文件系统进行备份;设置为“0”时,不进行备份。此处以“0”为例;
第六列:扫描选项,设置为“1”时,系统在启动时自动对该文件系统进行扫描;设置为“0”时,不进行扫描。此处以“0”为例。
按“Esc”,输入“:wq!”,并按“Enter”。
保存设置并退出vi编辑器。
执行以下步骤,验证自动挂载功能。
执行如下命令,卸载文件系统。
umount 逻辑卷路径
命令示例:
umount /dev/vg_data/lv_data
执行如下命令,将/etc/fstab文件所有内容重新加载。
mount -a
执行如下命令,查询文件系统挂载信息。
mount | grep 挂载目录
命令示例:
mount | grep /data
回显类似如下信息,说明自动挂载功能生效:
[root@host-192-168-1-7 ~]# mount | grep /data
/dev/mapper/vg_data-lv_data on /data type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
网友评论