华为云用户手册

  • 操作步骤 以root用户登录弹性云服务器。 执行以下命令,查看系统中是否安装了LVM管理工具。 rpm -qa |grep lvm2 回显类似如下信息: [root@ecs-lvmtest ~]# rpm -qa |grep lvm2lvm2-libs-2.02.177-4.el7.x86_64lvm2-2.02.177-4.el7.x86_64 如果得到以上回显信息,则说明系统中已经安装了LVM工具,可直接查看通过LVM创建逻辑卷。 如果未得到以上回显信息,则说明系统中未安装LVM工具,请执行步骤3完成安装。 执行以下命令,并根据回显提示信息安装LVM工具。 yum install lvm2 回显类似如下信息: ......Installed: lvm2.x86_64 7:2.02.177-4.el7Dependency Installed: device-mapper-event.x86_64 7:1.02.146-4.el7 device-mapper-event-libs.x86_64 7:1.02.146-4.el7 device-mapper-persistent-data.x86_64 0:0.7.3-3.el7 lvm2-libs.x86_64 7:2.02.177-4.el7Dependency Updated: device-mapper.x86_64 7:1.02.146-4.el7 device-mapper-libs.x86_64 7:1.02.146-4.el7Complete! 当回显显示“Complete!”时,表示安装LVM完成。
  • 操作步骤 以root用户登录弹性云服务器。 执行如下命令,创建文件系统。 mkfs.文件格式 逻辑卷路径 命令示例: mkfs.ext4 /dev/vgdata/lvdata1 回显类似如下信息: [root@ecs-lvmtest ~]# mkfs.ext4 /dev/vgdata/lvdata1mke2fs 1.42.9 (28-Dec-2013)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks983040 inodes, 3932160 blocks196608 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=2151677952120 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208Allocating group tables: doneWriting inode tables: doneCreating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: done 执行如下命令,创建挂载目录。 mkdir 挂载目录 命令示例: mkdir /Data1 执行如下命令,将文件系统挂载到目录下。 mount 逻辑卷路径 挂载目录 命令示例: mount /dev/vgdata/lvdata1 /Data1 执行如下命令,查询文件系统挂载信息。 mount | grep 挂载目录 命令示例: mount | grep /Data1 回显类似如下信息: [root@ecs-lvmtest ~]# mount | grep /Data1/dev/mapper/vgdata-lvdata1 on /Data1 type ext4 (rw,relatime,data=ordered) “dev/mapper/vgdata-lvdata1”为文件系统路径,记录此路径,步骤6中需要使用此路径。 执行以下步骤,设置云服务器系统启动时自动挂载文件系统。 如果未进行此项设置,在弹性云服务器重启时重新手动挂载文件系统。 执行如下命令,查询文件系统的UUID。 blkid 文件系统路径 以查询“dev/mapper/vgdata-lvdata1”的UUID为例: blkid /dev/mapper/vgdata-lvdata1 回显类似如下信息: [root@ecs-lvmtest ~]# blkid /dev/mapper/vgdata-lvdata1/dev/mapper/vgdata-lvdata1: UUID="c6a243ce-5150-41ac-8816-39db54d1a4b8" TYPE="ext4" UUID为"c6a243ce-5150-41ac-8816-39db54d1a4b8"。 执行以下命令,打开“/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 1UUID=2b2000b1-f926-4b6b-ade8-695ee244a901 /boot ext4 defaults 1 2 按“i”进入编辑模式。 将光标移至文件末尾,按“Enter”,添加如下内容。 UUID=c6a243ce-5150-41ac-8816-39db54d1a4b8 /Data1 ext4 defaults 0 0 内容说明如下: 第一列:UUID,此处填写1查询的UUID; 第二列:文件系统的挂载目录,此处填写步骤3创建的挂载目录“/Data1”; 第三列:文件系统的文件格式,此处填写步骤2设置的文件格式“ext4”; 第四列:挂载选项,此处以“defaults”为例; 第五列:备份选项,设置为“1”时,系统自动对该文件系统进行备份;设置为“0”时,不进行备份。此处以“0”为例; 第六列:扫描选项,设置为“1”时,系统在启动时自动对该文件系统进行扫描;设置为“0”时,不进行扫描。此处以“0”为例。 按“Esc”,输入“:wq!”,并按“Enter”。 保存设置并退出vi编辑器。 执行以下步骤,验证自动挂载功能。 执行如下命令,卸载文件系统。 umount 逻辑卷路径 命令示例: umount /dev/vgdata/lvdata1 执行如下命令,将/etc/fstab文件所有内容重新加载。 mount -a 执行如下命令,查询文件系统挂载信息。 mount | grep 挂载目录 命令示例: mount | grep /Data1 回显类似如下信息,说明自动挂载功能生效: [root@ecs-lvmtest ~]# mount | grep /Data1/dev/mapper/vgdata-lvdata1 on /Data1 type ext4 (rw,relatime,data=ordered)
  • 操作步骤 以root用户登录弹性云服务器。 执行如下命令,查看磁盘并记录设备名称。 fdisk -l | grep /dev/vd | grep -v vda 回显类似如下信息: [root@ecs-lvmtest ~]# fdisk -l | grep /dev/vd | grep -v vdaDisk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectorsDisk /dev/vdc: 10.7 GB, 10737418240 bytes, 20971520 sectors 可以看到云服务器上挂载的2块磁盘,设备名称分别为“/dev/vdb”、“/dev/vdc”。 将云硬盘创建为物理卷。 执行以下命令,将云硬盘创建为物理卷。 pvcreate 磁盘设备名1 磁盘设备名2 磁盘设备名3... 参数说明如下: 磁盘设备名:此处需要填写磁盘的设备名称,如果需要批量创建,可以填写多个设备名称,中间以空格间隔。 命令示例: pvcreate /dev/vdb /dev/vdc 回显类似如下信息: [root@ecs-lvmtest ~]# pvcreate /dev/vdb /dev/vdc Physical volume "/dev/vdb" successfully created. Physical volume "/dev/vdc" successfully created. 执行如下命令,查看系统中物理卷的详细信息。 pvdisplay 回显类似如下信息: [root@ecs-lvmtest ~]# pvdisplay "/dev/vdc" is a new physical volume of "10.00 GiB" --- NEW Physical volume --- PV Name /dev/vdc VG Name PV Size 10.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID dypyLh-xjIj-PvG3-jD0j-yup5-O7SI-462R7C "/dev/vdb" is a new physical volume of "10.00 GiB" --- NEW Physical volume --- PV Name /dev/vdb VG Name PV Size 10.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID srv5H1-tgLu-GRTl-Vns8-GfNK-jtHk-Ag4HHB 可以看到系统有两个新的物理卷,物理卷名称分别为“/dev/vdc”、“/dev/vdb”。 将多个物理卷组合成卷组。 执行以下命令,创建卷组。 vgcreate 卷组名 物理卷名称1 物理卷名称2 物理卷名称3... 参数说明如下: 卷组名:可自定义,此处以vgdata为例。 物理卷名称:此处需要填写待添加进卷组的所有物理卷名称,中间以空格隔开。 命令示例: vgcreate vgdata /dev/vdb /dev/vdc 回显类似如下信息: [root@ecs-lvmtest ~]# vgcreate vgdata /dev/vdb /dev/vdc Volume group "vgdata" successfully created 执行如下命令,查看系统中卷组的详细信息。 vgdisplay 回显类似如下信息: [root@ecs-lvmtest ~]# vgdisplay --- Volume group --- VG Name vgdata System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 19.99 GiB PE Size 4.00 MiB Total PE 5118 Alloc PE / Size 0 / 0 Free PE / Size 5118 / 19.99 GiB VG UUID NLkZV7-hYYE-0w66-tnlt-Y6jL-Ik7S-76w4P6 在卷组中创建逻辑卷 执行如下命令,创建逻辑卷。 lvcreate -L 逻辑卷大小 -n 逻辑卷名称 卷组名称 参数说明如下: 逻辑卷大小:该值应小于卷组剩余可用空间大小,单位可以选择“MB”或“GB”。 逻辑卷名称:可自定义,此处以lvdata1为例。 卷组名称:此处需要填写逻辑卷所在的卷组名称。 命令示例: lvcreate -L 15GB -n lvdata1 vgdata 回显类似如下信息: [root@ecs-lvmtest ~]# lvcreate -L 15GB -n lvdata1 vgdata Logical volume "lvdata1" created. 执行如下命令,查询系统中逻辑卷的详细信息。 lvdisplay 回显类似如下信息: [root@ecs-lvmtest ~]# lvdisplay --- Logical volume --- LV Path /dev/vgdata/lvdata1 LV Name lvdata1 VG Name vgdata LV UUID c7mNcF-CdPW-5PLD-1gVj-QZpB-nHfy-PHXchV LV Write Access read/write LV Creation host, time ecs-lvmtest.novalocal, 2018-11-29 11:28:18 +0800 LV Status available # open 0 LV Size 15.00 GiB Current LE 3840 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 252:0
  • 简介 当云服务器的磁盘空间不足时,会影响云服务器的运行速度,降低使用体验。当磁盘空间不足时,此时你可以通过以下两种途径来处理: 清理磁盘空间,详细方法如下: 使用系统自带磁盘清理工具清理磁盘空间 使用控制面板卸载不需要的程序 扩容磁盘,详细方法如下: 扩容状态为“正在使用”的云硬盘 扩容状态为“可用”的云硬盘 本手册基于华为云云硬盘实践所编写,以操作系统为Windows 2016的云服务器为例。介绍了清理磁盘空间的常用操作。同时建议在日常使用中养好良好的磁盘使用习惯,定期清理冗余文件,有助于您节省磁盘空间。 定期将不常用的文件压缩保存,节省磁盘空间。 定期使用磁盘清理工具清理磁盘空间,删除不需要的文件,并定期清理回收箱。 卸载不需要的程序,释放磁盘空间。 父主题: 处理Windows云服务器磁盘空间不足的方法
  • 常见RAID磁盘阵列介绍 表1 常见RAID磁盘阵列介绍 RAID级别 简介 读写性能 安全性能 磁盘使用率 组建不同RAID阵列所需的最少磁盘数量 RAID0 RAID0将数据分条存储在多个磁盘上,可实现并行读写,提供最快的读写速率。 多个磁盘并行读写获取更高性能 最差 没有冗余能力,一个磁盘损坏,整个RAID阵列数据都不可用 100% 两块 RAID1 通过构造数据镜像实现数据冗余,阵列中一半的磁盘容量投入使用,另一半磁盘容量用来做镜像,提供数据备份。 读性能:与单个磁盘相同 写性能:需要将数据写入是两个磁盘,写性能低于单个磁盘 最高 提供磁盘数据的完整备份,当阵列中的一个磁盘失效时,系统可以自动采用镜像磁盘的数据 50% 两块 RAID01 结合RAID0和RAID1两种磁盘阵列,先将一半磁盘组建成RAID0分条存储数据,再用另一半磁盘做RAID1镜像。 读性能:和RAID0相同 写性能:和RAID1相同 比RAID10的安全性能低 50% 四块 RAID10 结合RAID1和RAID0两种磁盘阵列,先将磁盘两两组建成RAID1镜像,再组建RAID0将数据分条存储。 读性能:RAID0相同 写性能:RAID1相同 和RAID1的安全性能相同 50% 四块 RAID5 RAID5不需要单独指定数据校验磁盘,而是将每块磁盘生成的校验信息分块存储至阵列中的每块磁盘中。 读性能:和RAID0相同 写性能:由于要写入奇偶校验信息,写性能低于单个磁盘 比RAID10的安全性能低 66.7% 三块
  • 扩大已有GPT分区 扩大已有分区不会删除数据盘上的数据,但是需要通过umount命令先卸载已有分区,因此会影响线上业务运行。 数据盘“/dev/vdb”原有容量150GB,有两个分区“/dev/vdb1 ”和“/dev/vdb2”。将数据盘容量扩大至230GB,本示例将新增的80GB划分至已有的GPT分区内“/dev/vdb2”内。 扩容后的新增存储空间是添加在磁盘末尾的,对具有多个分区的的磁盘扩容时,只支持将新增容量划分至排在末尾的分区。 执行以下命令,查看磁盘的分区信息。 lsblk 回显类似如下信息: [root@ecs-test-0001 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTvda 253:0 0 40G 0 disk└─vda1 253:1 0 40G 0 part /vdb 253:16 0 230G 0 disk├─vdb1 253:17 0 100G 0 part /mnt/sdc└─vdb2 253:18 0 50G 0 part /mnt/test 查看回显中磁盘“/dev/vdb”的容量,扩容的容量是否已经包含在容量总和中。 若扩容的容量未在磁盘容量总和中,请参考扩展S CS I数据盘的分区和文件系统(Linux内核低于3.6.0)章节刷新系统内容量。 若扩容的容量已在磁盘容量总和中,请执行2。 执行以下命令,卸载磁盘分区。 umount 磁盘分区 命令示例: umount /dev/vdb2 执行以下命令,确认磁盘分区的卸载结果。 lsblk 回显类似如下信息: [root@ecs-test-0001 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTvda 253:0 0 40G 0 disk└─vda1 253:1 0 40G 0 part /vdb 253:16 0 230G 0 disk├─vdb1 253:17 0 100G 0 part /mnt/sdc└─vdb2 253:18 0 50G 0 part 执行以下命令,进入parted分区工具。 parted 磁盘 命令示例: parted /dev/vdb 回显类似如下信息: [root@ecs-test-0001 ~]# parted /dev/vdbGNU Parted 3.1Using /dev/vdbWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) 输入“unit s”,按“Enter”,设置磁盘的计量单位为磁柱。 输入“p”,按“Enter”,查看当前磁盘分区情况。 回显类似如下信息: (parted) unit s(parted) pError: The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes thedisk is smaller. Fix, by moving the backup to the end (and removing the old backup)?Fix/Ignore/Cancel? FixWarning: Not all of the space available to /dev/vdb appears to be used, you can fix the GPT to use all of the space (an extra 167772160blocks) or continue with the current setting?Fix/Ignore? FixModel: Virtio Block Device (virtblk)Disk /dev/vdb: 482344960sSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags:Number Start End Size File system Name Flags 1 2048s 209713151s 209711104s ext4 test 2 209713152s 314570751s 104857600s ext4 data(parted) 记录待扩大分区“/dev/vdb2”的初始磁柱值(start)和截止磁柱值(End),在后续重新划分分区需要使用。本示例中待扩大分区的的初始磁柱值为209713152s,截止磁柱值为314570751s。 若系统出现以下Error,请输入“Fix”。 Error: The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes thedisk is smaller. Fix, by moving the backup to the end (and removing the old backup)? GPT分区表信息存储在磁盘开头,为了减少分区表损坏的风险,同时在磁盘末尾会备份一份。当磁盘容量扩大后,末尾位置也会随之变化,因此需要根据系统提示输入“Fix”,将分区表信息的备份文件挪到新的磁盘末尾位置。 若系统出现以下Waring,请输入“Fix”。 Warning: Not all of the space available to /dev/vdb appears to be used, you can fix the GPT to use all of the space (an extra 104857600blocks) or continue with the current setting?Fix/Ignore? Fix 根据系统提示输入“Fix”,系统会自动将磁盘扩容部分的容量设置为GPT。 输入“rm”和分区编号,此处以“2”为例,按“Enter”。 回显类似如下信息: (parted) rmPartition number? 2(parted) 重新划分分区,执行以下命令,按“Enter”。 mkpart 磁盘分区名称 起始磁柱值 截止磁柱值 命令示例: mkpart data 209713152s 100% 起始起始磁柱值需要和原分区的取值保持一致,输入6中记录的起始磁柱值“209713152s”。 截止磁柱值必须大于原分区的取值,即大于6中记录的截止磁柱值“314570751s”,此处以将所有新增容量划分至分区“dev/vdb2”为例,输入100%。 回显类似如下信息: (parted) mkpart data 209713152s 100%(parted) 以下操作会导致数据丢失: 选择的起始磁柱值与原分区的不一致。 选择的截止磁柱值小于原分区的值。 输入“p”,按“Enter”,查看分区信息。 回显类似如下信息: (parted) pModel: Virtio Block Device (virtblk)Disk /dev/vdb: 482344960sSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags:Number Start End Size File system Name Flags 1 2048s 209713151s 209711104s ext4 test 2 209713152s 482342911s 272629760s ext4 data(parted) 输入“q”,按“Enter”,退出parted分区工具。 回显类似如下信息: (parted) qInformation: You may need to update /etc/fstab. “/etc/fstab”文件控制磁盘开机自动挂载,请先参考以下步骤为磁盘分区设置文件系统和挂载目录后,再根据文档指导更新“/etc/fstab”文件。 根据磁盘的文件系统,分别执行以下操作。 若磁盘文件系统为ext*,请执行以下步骤。 执行以下命令,检查磁盘分区文件系统的正确性。 e2fsck -f 磁盘分区 命令示例: e2fsck -f /dev/vdb2 回显类似如下信息: [root@ecs-test-0001 ~]# e2fsck -f /dev/vdb2e2fsck 1.42.9 (28-Dec-2013)Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary information/dev/vdb2: 11/3276800 files (0.0% non-contiguous), 251790/13107200 blocks 执行以下命令,扩展磁盘分区文件系统的大小。 resize2fs 磁盘分区 命令示例: resize2fs /dev/vdb2 回显类似如下信息: [root@ecs-test-0001 ~]# resize2fs /dev/vdb2resize2fs 1.42.9 (28-Dec-2013)Resizing the filesystem on /dev/vdb2 to 34078720 (4k) blocks.The filesystem on /dev/vdb2 is now 34078720 blocks long. (可选)执行以下命令,新建挂载目录。 若需要挂载至新建目录下,执行该操作。 mkdir 挂载目录 以新建挂载目录“/mnt/test”为例: mkdir /mnt/test 执行以下命令,挂载磁盘分区。 mount 磁盘分区 挂载目录 以挂载分区“/dev/vdb2”至“/mnt/test”为例: mount /dev/vdb2 /mnt/test 新增加的分区挂载到不为空的目录时,该目录下原本的子目录和文件会被隐藏,所以,新增的分区最好挂载到空目录或者新建目录。如确实要挂载到不为空的目录,可将该目录下的子目录和文件临时移动到其他目录下,新分区挂载成功后,再将子目录和文件移动回来。 若磁盘文件系统为xfs,请执行以下步骤。 (可选)执行以下命令,新建挂载目录。 若需要挂载至新建目录下,执行该操作。 mkdir 挂载目录 以新建挂载目录“/mnt/test”为例: mkdir /mnt/test 执行以下命令,挂载磁盘分区。 mount 磁盘分区 挂载目录 以挂载分区“/dev/vdb2”至“/mnt/test”为例: mount /dev/vdb2 /mnt/test 新增加的分区挂载到不为空的目录时,该目录下原本的子目录和文件会被隐藏,所以,新增的分区最好挂载到空目录或者新建目录。如确实要挂载到不为空的目录,可将该目录下的子目录和文件临时移动到其他目录下,新分区挂载成功后,再将子目录和文件移动回来。 执行以下命令,扩展磁盘分区文件系统的大小。 sudo xfs_growfs 磁盘分区 命令示例: sudo xfs_growfs /dev/vdb2 回显类似如下信息: [root@ecs-test-0001 ~]# sudo xfs_growfs /dev/vdb2 meta-data=/dev/vdb2 isize=512 agcount=4, agsize=3276800 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, spinodes=0data = bsize=4096 blocks=13107200, imaxpct=25 = sunit=0 swidth=0 blksnaming =version2 bsize=4096 ascii-ci=0 ftype=1log =internal bsize=4096 blocks=6400, version=2 = sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0data blocks changed from 13107200 to 34078720. 执行以下命令,查看挂载结果。 df -TH 回显类似如下信息: [root@ecs-test-0001 ~]# df -THFilesystem Type Size Used Avail Use% Mounted on/dev/vda1 ext4 43G 1.9G 39G 5% /devtmpfs devtmpfs 2.0G 0 2.0G 0% /devtmpfs tmpfs 2.0G 0 2.0G 0% /dev/shmtmpfs tmpfs 2.0G 9.1M 2.0G 1% /runtmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgrouptmpfs tmpfs 398M 0 398M 0% /run/user/0/dev/vdb1 ext4 106G 63M 101G 1% /mnt/sdc/dev/vdb2 ext4 138G 63M 131G 1% /mnt/test 云服务器重启后,挂载会失效。您可以修改“/etc/fstab”文件,将新建磁盘分区设置为开机自动挂载,请参见设置开机自动挂载磁盘分区。
  • 设置开机自动挂载磁盘分区 您可以通过配置fstab文件,设置云服务器系统启动时自动挂载磁盘分区。已有数据的云服务器也可以进行设置,该操作不会影响现有数据。 本文介绍如何在fstab文件中使用UUID来设置自动挂载磁盘分区。不建议采用在“/etc/fstab”直接指定设备名(比如/dev/vdb1)的方法,因为云中设备的顺序编码在关闭或者开启云服务器过程中可能发生改变,例如/dev/vdb1可能会变成/dev/vdb2,可能会导致云服务器重启后不能正常运行。 UUID(universally unique identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。 执行如下命令,查询磁盘分区的UUID。 blkid 磁盘分区 以查询磁盘分区“/dev/vdb1”的UUID为例: blkid /dev/vdb1 回显类似如下信息: [root@ecs-test-0001 ~]# blkid /dev/vdb1/dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4" 表示“/dev/vdb1”的UUID。 执行以下命令,使用VI编辑器打开“fstab”文件。 vi /etc/fstab 按“i”,进入编辑模式。 将光标移至文件末尾,按“Enter”,添加如下内容。 UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2 以上内容仅为示例,具体请以实际情况为准,参数说明如下: 第一列为UUID,此处填写1中查询到的磁盘分区的UUID。 第二列为磁盘分区的挂载目录,可以通过df -TH命令查询。 第三列为磁盘分区的文件系统格式, 可以通过df -TH命令查询。 第四列为磁盘分区的挂载选项,此处通常设置为defaults即可。 第五列为Linux dump备份选项。 0表示不使用Linux dump备份。现在通常不使用dump备份,此处设置为0即可。 1表示使用Linux dump备份。 第六列为fsck选项,即开机时是否使用fsck检查磁盘。 0表示不检验。 挂载点为(/)根目录的分区,此处必须填写1。 根分区设置为1,其他分区只能从2开始,系统会按照数字从小到大依次检查下去。 按“ESC”后,输入“:wq”,按“Enter”。 保存设置并退出编辑器。 执行以下步骤,验证自动挂载功能。 执行如下命令,卸载已挂载的分区。 umount 磁盘分区 命令示例: umount /dev/vdb1 执行如下命令,将“/etc/fstab”文件所有内容重新加载。 mount -a 执行如下命令,查询文件系统挂载信息。 mount | grep 挂载目录 命令示例: mount | grep /mnt/sdc 回显类似如下信息,说明自动挂载功能生效: root@ecs-test-0001 ~]# mount | grep /mnt/sdc/dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered)
  • 新增GPT分区 数据盘“/dev/vdb”原有容量100GB,只有一个分区“/dev/vdb1”。将数据盘容量扩大至150GB,本示例为新增的50GB分配新的GPT分区“/dev/vdb2”。 执行以下命令,查看磁盘的分区信息。 lsblk 回显类似如下信息: [root@ecs-test-0001 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTvda 253:0 0 40G 0 disk└─vda1 253:1 0 40G 0 part /vdb 253:16 0 150G 0 disk└─vdb1 253:17 0 100G 0 part /mnt/sdc 执行以下命令,进入parted分区工具。 parted 磁盘 命令示例: parted /dev/vdb 回显类似如下信息: [root@ecs-test-0001 ~]# parted /dev/vdbGNU Parted 3.1Using /dev/vdbWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) 输入“unit s”,按“Enter”,设置磁盘的计量单位为磁柱。 输入“p”,按“Enter”,查看当前磁盘分区情况。 回显类似如下信息: (parted) unit s(parted) pError: The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes thedisk is smaller. Fix, by moving the backup to the end (and removing the old backup)?Fix/Ignore/Cancel? FixWarning: Not all of the space available to /dev/vdb appears to be used, you can fix the GPT to use all of the space (an extra 104857600blocks) or continue with the current setting?Fix/Ignore? FixModel: Virtio Block Device (virtblk)Disk /dev/vdb: 314572800sSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags:Number Start End Size File system Name Flags 1 2048s 209713151s 209711104s ext4 test(parted) 记录已有分区的截止磁柱值(End),本示例中已有分区“/dev/vdb1”的截止磁柱值为209713151s。 若系统出现以下Error,请输入“Fix”。 Error: The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes thedisk is smaller. Fix, by moving the backup to the end (and removing the old backup)? GPT分区表信息存储在磁盘开头,为了减少分区表损坏的风险,同时在磁盘末尾会备份一份。当磁盘容量扩大后,末尾位置也会随之变化,因此需要根据系统提示输入“Fix”,将分区表信息的备份文件挪到新的磁盘末尾位置。 若系统出现以下Waring,请输入“Fix”。 Warning: Not all of the space available to /dev/vdb appears to be used, you can fix the GPT to use all of the space (an extra 104857600blocks) or continue with the current setting?Fix/Ignore? Fix 根据系统提示输入“Fix”,系统会自动将磁盘扩容部分的容量设置为GPT。 以为新增容量分配一整个分区为例,执行以下命令,按“Enter”。 mkpart 磁盘分区名称 起始磁柱值 截止磁柱值 命令示例: mkpart data 209713152s 100% 由于4中,已有分区“dev/vdb1”的截止磁柱值为“209713151s”,因此对于新增分区“dev/vdb2”,起始磁柱值设置为“209713152s”,截止磁柱值设置为“100%”。此处仅供参考,您可以根据业务需要自行规划磁盘分区数量及容量。 回显类似如下信息: (parted) mkpart data 209713152s 100%(parted) 获取最大截止磁柱值的方法如下: 参考2~4,查询磁盘的最大截止磁柱值。 可以输入-1s或者100%,即默认为磁盘的最大截止磁柱值。 输入“p”,按“Enter”,查看新建分区。 回显类似如下信息: (parted) pModel: Virtio Block Device (virtblk)Disk /dev/vdb: 314572800sSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags:Number Start End Size File system Name Flags 1 2048s 209713151s 209711104s ext4 test 2 209713152s 314570751s 104857600s data(parted) 输入“q”,按“Enter”,退出parted分区工具。 回显类似如下信息: (parted) qInformation: You may need to update /etc/fstab. “/etc/fstab”文件控制磁盘开机自动挂载,请先参考以下步骤为磁盘分区设置文件系统和挂载目录后,再根据文档指导更新“/etc/fstab”文件。 执行以下命令,为新建分区设置文件系统。 mkfs -t 文件系统 磁盘分区 ext*文件系统命令示例: mkfs -t ext4 /dev/vdb2 回显类似如下信息: [root@ecs-test-0001 ~]# mkfs -t ext4 /dev/vdb2mke2fs 1.42.9 (28-Dec-2013)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks3276800 inodes, 13107200 blocks655360 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=2162163712400 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424Allocating group tables: doneWriting inode tables: doneCreating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: done xfs文件系统命令示例: mkfs -t xfs /dev/vdb2 回显类似如下信息: [root@ecs-test-0001 ~]# mkfs -t xfs /dev/vdb2 meta-data=/dev/vdb2 isize=512 agcount=4, agsize=3276800 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0data = bsize=4096 blocks=13107200, imaxpct=25 = sunit=0 swidth=0 blksnaming =version2 bsize=4096 ascii-ci=0 ftype=1log =internal log bsize=4096 blocks=6400, version=2 = sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0 格式化需要等待一段时间,请观察系统运行状态,若回显中进程提示为done,则表示格式化完成。 (可选)执行以下命令,新建挂载目录。 若需要挂载至新建目录下,执行该操作。 mkdir 挂载目录 以新建挂载目录“/mnt/test”为例: mkdir /mnt/test 执行以下命令,挂载新建分区。 mount 磁盘分区 挂载目录 以挂载新建分区“/dev/vdb2”至“/mnt/test”为例: mount /dev/vdb2 /mnt/test 新增加的分区挂载到不为空的目录时,该目录下原本的子目录和文件会被隐藏,所以,建议将新增的分区挂载到空目录或者新建目录。如确实要挂载到不为空的目录,可将该目录下的子目录和文件临时移动到其他目录下,新分区挂载成功后,再将子目录和文件移动回来。 执行以下命令,查看挂载结果。 df -TH 回显类似如下信息: [root@ecs-test-0001 ~]# df -THFilesystem Type Size Used Avail Use% Mounted on/dev/vda1 ext4 43G 1.9G 39G 5% /devtmpfs devtmpfs 2.0G 0 2.0G 0% /devtmpfs tmpfs 2.0G 0 2.0G 0% /dev/shmtmpfs tmpfs 2.0G 9.1M 2.0G 1% /runtmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgrouptmpfs tmpfs 398M 0 398M 0% /run/user/0/dev/vdb1 ext4 106G 63M 101G 1% /mnt/sdc/dev/vdb2 ext4 53G 55M 50G 1% /mnt/test 云服务器重启后,挂载会失效。您可以修改“/etc/fstab”文件,将新建磁盘分区设置为开机自动挂载,请参见设置开机自动挂载磁盘分区。
  • 扩大已有MBR分区 扩大已有分区不会删除数据盘上的数据,但是需要通过umount命令先卸载已有分区,因此会影响线上业务运行。 数据盘“/dev/vdb”原有容量150GB,有两个分区“/dev/vdb1 ”和“/dev/vdb2”。将数据盘容量扩大至230GB,本示例将新增的80GB划分至已有的MBR分区内“/dev/vdb2”内。 扩容后的新增存储空间是添加在磁盘末尾的,对具有多个分区的的磁盘扩容时,只支持将新增容量划分至排在末尾的分区。 执行以下命令,查看磁盘的分区信息。 fdisk -l 回显类似如下信息: [root@ecs-test-0001 ~]# fdisk -lDisk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x000bcb4e Device Boot Start End Blocks Id System/dev/vda1 * 2048 83886079 41942016 83 LinuxDisk /dev/vdb: 247.0 GB, 246960619520 bytes, 482344960 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x38717fc1 Device Boot Start End Blocks Id System/dev/vdb1 2048 209715199 104856576 83 Linux/dev/vdb2 209715200 314572799 52428800 83 Linux 记录待扩大分区的起始磁柱值(Start)和截止磁柱值(End),本示例中待扩大分区“/dev/vdb2”的起始磁柱值为209715200,截止磁柱值为314572799。 查看回显中数据盘“/dev/vdb”的容量,扩容的容量是否已经包含在容量总和中。 若扩容的容量未在数据盘容量总和中,请参考扩展SCSI数据盘的分区和文件系统(Linux内核低于3.6.0)章节刷新系统内容量。 若扩容的容量已在数据盘容量总和中,请记录待扩大分区的起始和截止磁柱值,这些值在后续重新创建分区时需要使用,记录完成后执行2。 执行以下命令,卸载磁盘分区。 umount 磁盘分区 命令示例: umount /dev/vdb2 执行以下命令,进入fdisk分区工具。 fdisk 磁盘 命令示例: fdisk /dev/vdb 回显类似如下信息: [root@ecs-test-0001 ~]# fdisk /dev/vdbWelcome 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.Command (m for help): 执行以下步骤,删除待扩大的分区。 输入“d”,按“Enter”,删除磁盘分区。 回显类似如下信息: Command (m for help): dPartition number (1,2, default 2): 输入分区编号,此处以分区编号选择“2”为例,按“Enter”,删除磁盘分区。 回显类似如下信息: Partition number (1,2, default 2): 2Partition 2 is deletedCommand (m for help): 删除分区后,请参考以下操作步骤扩大原有分区,则不会导致数据盘内数据的丢失。 输入“n”,按“Enter”,开始新建分区。 回显类似如下信息: Command (m for help): nPartition type: p primary (1 primary, 0 extended, 3 free) e extendedSelect (default p): 表示磁盘有两种分区类型: “p”表示主分区。 “e”表示扩展分区。 磁盘使用MBR分区形式,最多可以创建4个主分区,或者3个主分区加1个扩展分区,扩展分区不可以直接使用,需要划分成若干个逻辑分区才可以使用。 磁盘使用GPT分区形式时,没有主分区、扩展分区以及逻辑分区之分。 此处分区类型需要与原分区保持一致,以原分区类型是“主分区”为例,输入“p”,按“Enter”,开始重新创建一个主分区。 回显类似如下信息: Select (default p): pPartition number (2-4, default 2): “Partition number”表示主分区编号。 此处分区编号需要与原分区保持一致,以原分区编号是“2”为例,输入分区编号“2”,按“Enter”。 回显类似如下信息: Partition number (2-4, default 2): 2First sector (209715200-482344959, default 209715200): “First sector”表示起始磁柱值。 以下操作会导致数据丢失: 选择的起始磁柱值与原分区的不一致。 选择的截止磁柱值小于原分区的值。 此处必须与原分区保持一致,输入1中记录的初始磁柱值209715200,此处该值也为默认值,按“Enter”。 回显类似如下信息: First sector (209715200-482344959, default 209715200):Using default value 209715200Last sector, +sectors or +size{K,M,G} (209715200-482344959, default 482344959): “Last sector”表示截止磁柱值。 此处截止磁柱值应大于等于1中记录的截止磁柱值314572799,以选择默认截止磁柱值482344959为例,按“Enter”。 回显类似如下信息: Using default value 209715200Last sector, +sectors or +size{K,M,G} (209715200-482344959, default 482344959):Using default value 482344959Partition 2 of type Linux and of size 130 GiB is setCommand (m for help): 表示分区完成。 输入“p”,按“Enter”,查看分区的详细信息。 回显类似如下信息: Command (mfor help): pDisk /dev/vdb: 247.0 GB, 246960619520 bytes, 482344960 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x38717fc1 Device Boot Start End Blocks Id System/dev/vdb1 2048 209715199 104856576 83 Linux/dev/vdb2 209715200 482344959 136314880 83 LinuxCommand (m for help): 输入“w”,按“Enter”,将分区结果写入分区表中。 回显类似如下信息: Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks. 如果之前分区操作有误,请输入“q”,则会退出fdisk分区工具,之前的分区结果将不会被保留。 执行以下命令,将新的分区表变更同步至操作系统。 partprobe 根据磁盘的文件系统,分别执行以下操作。 若磁盘文件系统为ext*,请执行以下步骤。 执行以下命令,检查磁盘分区文件系统的正确性。 e2fsck -f 磁盘分区 命令示例: e2fsck -f /dev/vdb2 回显类似如下信息: [root@ecs-test-0001 ~]# e2fsck -f /dev/vdb2e2fsck 1.42.9 (28-Dec-2013)Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary information/dev/vdb2: 11/3276800 files (0.0% non-contiguous), 251790/13107200 blocks 执行以下命令,扩展磁盘分区文件系统的大小。 resize2fs 磁盘分区 命令示例: resize2fs /dev/vdb2 回显类似如下信息: [root@ecs-test-0001 ~]# resize2fs /dev/vdb2resize2fs 1.42.9 (28-Dec-2013)Resizing the filesystem on /dev/vdb2 to 34078720 (4k) blocks.The filesystem on /dev/vdb2 is now 34078720 blocks long. (可选)执行以下命令,新建挂载目录。 若需要挂载至新建目录下,执行该操作。 mkdir 挂载目录 以新建挂载目录“/mnt/test”为例: mkdir /mnt/test 执行以下命令,挂载磁盘分区。 mount 磁盘分区 挂载目录 以挂载分区“/dev/vdb2”至“/mnt/test”为例: mount /dev/vdb2 /mnt/test 新增加的分区挂载到不为空的目录时,该目录下原本的子目录和文件会被隐藏,所以,新增的分区最好挂载到空目录或者新建目录。如确实要挂载到不为空的目录,可将该目录下的子目录和文件临时移动到其他目录下,新分区挂载成功后,再将子目录和文件移动回来。 若磁盘文件系统为xfs,请执行以下步骤。 (可选)执行以下命令,新建挂载目录。 若需要挂载至新建目录下,执行该操作。 mkdir 挂载目录 以新建挂载目录“/mnt/test”为例: mkdir /mnt/test 执行以下命令,挂载磁盘分区。 mount 磁盘分区 挂载目录 以挂载分区“/dev/vdb2”至“/mnt/test”为例: mount /dev/vdb2 /mnt/test 新增加的分区挂载到不为空的目录时,该目录下原本的子目录和文件会被隐藏,所以,新增的分区最好挂载到空目录或者新建目录。如确实要挂载到不为空的目录,可将该目录下的子目录和文件临时移动到其他目录下,新分区挂载成功后,再将子目录和文件移动回来。 执行以下命令,扩展磁盘分区文件系统的大小。 sudo xfs_growfs 磁盘分区 命令示例: sudo xfs_growfs /dev/vdb2 回显类似如下信息: [root@ecs-test-0001 ~]# sudo xfs_growfs /dev/vdb2 meta-data=/dev/vdb2 isize=512 agcount=4, agsize=3276800 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, spinodes=0data = bsize=4096 blocks=13107200, imaxpct=25 = sunit=0 swidth=0 blksnaming =version2 bsize=4096 ascii-ci=0 ftype=1log =internal bsize=4096 blocks=6400, version=2 = sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0data blocks changed from 13107200 to 34078720. 执行以下命令,查看挂载结果。 df -TH 回显类似如下信息: [root@ecs-test-0001 ~]# df -THFilesystem Type Size Used Avail Use% Mounted on/dev/vda1 ext4 43G 1.9G 39G 5% /devtmpfs devtmpfs 2.0G 0 2.0G 0% /devtmpfs tmpfs 2.0G 0 2.0G 0% /dev/shmtmpfs tmpfs 2.0G 9.1M 2.0G 1% /runtmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgrouptmpfs tmpfs 398M 0 398M 0% /run/user/0/dev/vdb1 ext4 106G 63M 101G 1% /mnt/sdc/dev/vdb2 ext4 138G 63M 131G 1% /mnt/test 云服务器重启后,挂载会失效。您可以修改“/etc/fstab”文件,将新建磁盘分区设置为开机自动挂载,请参见设置开机自动挂载磁盘分区。
  • 新增MBR分区 数据盘“/dev/vdb”原有容量100GB,只有一个分区“/dev/vdb1”。将数据盘容量扩大至150GB,本示例为新增的50GB分配新的MBR分区“/dev/vdb2”。 执行以下命令,查看磁盘的分区信息。 fdisk -l 回显类似如下信息: [root@ecs-test-0001 ~]# fdisk -lDisk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x000bcb4e Device Boot Start End Blocks Id System/dev/vda1 * 2048 83886079 41942016 83 LinuxDisk /dev/vdb: 161.1 GB, 161061273600 bytes, 314572800 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x38717fc1 Device Boot Start End Blocks Id System/dev/vdb1 2048 209715199 104856576 83 Linux 执行以下命令,进入fdisk分区工具。 fdisk 磁盘 命令示例: fdisk /dev/vdb 回显类似如下信息: [root@ecs-test-0001 ~]# fdisk /dev/vdbWelcome 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.Command (m for help): 输入“n”,按“Enter”,开始新建分区。 回显类似如下信息: Command (m for help): nPartition type: p primary (1 primary, 0 extended, 3 free) e extendedSelect (default p): 表示磁盘有两种分区类型: “p”表示主分区。 “e”表示扩展分区。 磁盘使用MBR分区形式,最多可以创建4个主分区,或者3个主分区加1个扩展分区,扩展分区不可以直接使用,需要划分成若干个逻辑分区才可以使用。 磁盘使用GPT分区形式时,没有主分区、扩展分区以及逻辑分区之分。 以创建一个主分区为例,输入“p”,按“Enter”。 回显类似如下信息: Select (default p): pPartition number (2-4, default 2): “Partition number”表示主分区编号,可以选择2-4,由于1已被使用,此处从2开始。 以分区编号选择“2”为例,输入分区编号“2”,按“Enter”。 回显类似如下信息: Partition number (2-4, default 2): 2First sector (209715200-314572799, default 209715200): “First sector”表示起始磁柱值,可以选择209715200-314572799,默认为209715200。 输入新分区的起始磁柱值,以使用默认起始磁柱值为例,按“Enter”。 系统会自动提示分区可用空间的起始磁柱值和截止磁柱值,可以在该区间内自定义,或者使用默认值。起始磁柱值必须小于分区的截止磁柱值。 回显类似如下信息: First sector (209715200-314572799, default 209715200):Using default value 209715200Last sector, +sectors or +size{K,M,G} (209715200-314572799, default 314572799): “Last sector”表示截止磁柱值,可以选择209715200-314572799,默认为314572799。 输入新分区的截止磁柱值,以使用默认截止磁柱值为例,按“Enter”。 系统会自动提示分区可用空间的起始磁柱值和截止磁柱值,可以在该区间内自定义,或者使用默认值。起始磁柱值必须小于分区的截止磁柱值。 回显类似如下信息: Last sector, +sectors or +size{K,M,G} (209715200-314572799, default 314572799):Using default value 314572799Partition 2 of type Linux and of size 50 GiB is setCommand (m for help): 输入“p”,按“Enter”,查看新建分区。 回显类似如下信息: Command (m for help): pDisk /dev/vdb: 161.1 GB, 161061273600 bytes, 314572800 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x38717fc1 Device Boot Start End Blocks Id System/dev/vdb1 2048 209715199 104856576 83 Linux/dev/vdb2 209715200 314572799 52428800 83 LinuxCommand (m for help): 输入“w”,按“Enter”,将分区结果写入分区表中。 回显类似如下信息: Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks. 如果之前分区操作有误,请输入“q”,则会退出fdisk分区工具,之前的分区结果将不会被保留。 执行以下命令,将新的分区表变更同步至操作系统。 partprobe 执行以下命令,为新建分区设置文件系统。 mkfs -t 文件系统 磁盘分区 ext*文件系统命令示例: mkfs -t ext4 /dev/vdb2 回显类似如下信息: [root@ecs-test-0001 ~]# mkfs -t ext4 /dev/vdb2mke2fs 1.42.9 (28-Dec-2013)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks3276800 inodes, 13107200 blocks655360 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=2162163712400 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424Allocating group tables: doneWriting inode tables: doneCreating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: done xfs文件系统命令示例: mkfs -t xfs /dev/vdb2 回显类似如下信息: [root@ecs-test-0001 ~]# mkfs -t xfs /dev/vdb2 meta-data=/dev/vdb2 isize=512 agcount=4, agsize=3276800 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0data = bsize=4096 blocks=13107200, imaxpct=25 = sunit=0 swidth=0 blksnaming =version2 bsize=4096 ascii-ci=0 ftype=1log =internal log bsize=4096 blocks=6400, version=2 = sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0 格式化需要等待一段时间,请观察系统运行状态,若回显中进程提示为done,则表示格式化完成。 (可选)执行以下命令,新建挂载目录。 若需要挂载至新建目录下,执行该操作。 mkdir 挂载目录 以新建挂载目录“/mnt/test”为例: mkdir /mnt/test 执行以下命令,挂载新建分区。 mount 磁盘分区 挂载目录 以挂载新建分区“/dev/vdb2”至“/mnt/test”为例: mount /dev/vdb2 /mnt/test 新增加的分区挂载到不为空的目录时,该目录下原本的子目录和文件会被隐藏,所以,新增的分区最好挂载到空目录或者新建目录。如确实要挂载到不为空的目录,可将该目录下的子目录和文件临时移动到其他目录下,新分区挂载成功后,再将子目录和文件移动回来。 执行以下命令,查看挂载结果。 df -TH 回显类似如下信息: [root@ecs-test-0001 ~]# df -THFilesystem Type Size Used Avail Use% Mounted on/dev/vda1 ext4 43G 1.9G 39G 5% /devtmpfs devtmpfs 2.0G 0 2.0G 0% /devtmpfs tmpfs 2.0G 0 2.0G 0% /dev/shmtmpfs tmpfs 2.0G 9.1M 2.0G 1% /runtmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgrouptmpfs tmpfs 398M 0 398M 0% /run/user/0/dev/vdb1 ext4 106G 63M 101G 1% /mnt/sdc/dev/vdb2 ext4 53G 55M 50G 1% /mnt/test 云服务器重启后,挂载会失效。您可以修改“/etc/fstab”文件,将新建磁盘分区设置为开机自动挂载,请参见设置开机自动挂载磁盘分区。
  • 操作场景 通过云服务管理控制台扩容成功后,仅扩大了云硬盘的存储容量,因此需要参考本章节操作扩展分区和文件系统。 对于Linux操作系统而言,需要将扩容部分的容量划分至已有分区内,或者为扩容部分的云硬盘分配新的分区。 本文以“CentOS 7.4 64位”操作系统为例,提供MBR分区和GPT分区的操作指导。不同操作系统的操作可能不同,本文仅供参考,具体操作步骤和差异请参考对应操作系统的产品文档。 新增MBR分区 扩大已有MBR分区 新增GPT分区 扩大已有GPT分区 扩容时请谨慎操作,误操作可能会导致数据丢失或者异常,建议扩容前对数据进行备份,可以使用CBR或者快照功能,CBR请参见管理备份云硬盘,快照功能请参见创建快照(公测)。 当操作系统内核低于3.6.0时,扩大已有MBR分区需要reboot重启,扩展分区和文件系统才会生效,会中断业务。reboot重启后,新增容量会自动扩展至系统盘末尾分区内。 如果您不希望重启弹性云服务器来扩展分区和文件系统,您可以先将该数据盘中的业务数据迁移至弹性云服务器中的其他磁盘,然后卸载该数据盘,并将其挂载至其他内核大于3.6.0的弹性云服务器上来扩展磁盘分区和文件系统,扩展完成后再将其挂载回原始弹性云服务器,最后再将业务数据迁移回该磁盘。迁移数据有风险,请提前做好备份。扩容内核大于3.6.0的弹性云服务器上的分区和文件系统请参见扩展磁盘分区和文件系统(Linux)。
  • 操作场景 通过云服务管理控制台扩容成功后,仅扩大了云硬盘的存储容量,因此需要参考本章节操作扩展分区和文件系统。 对于Linux操作系统而言,需要将扩容部分的容量划分至已有分区内,或者为扩容部分的云硬盘分配新的分区。 本文以“CentOS 7.4 64位”操作系统为例,提供针对SCSI数据盘的MBR分区的操作指导。不同操作系统的操作可能不同,本文仅供参考,具体操作步骤和差异请参考对应操作系统的产品文档。 新增MBR分区 扩大已有MBR分区 扩容时请谨慎操作,误操作可能会导致数据丢失或者异常,建议扩容前对数据进行备份,可以使用CBR或者快照功能,CBR请参见管理备份云硬盘,快照功能请参见创建快照(公测)。 当操作系统内核低于3.6.0时,扩大已有MBR分区需要reboot重启,扩展分区和文件系统才会生效,会中断业务。reboot重启后,新增容量会自动扩展至系统盘末尾分区内。 如果您不希望重启弹性云服务器来扩展分区和文件系统,您可以先将该数据盘中的业务数据迁移至弹性云服务器中的其他磁盘,然后卸载该数据盘,并将其挂载至其他内核大于3.6.0的弹性云服务器上来扩展磁盘分区和文件系统,扩展完成后再将其挂载回原始弹性云服务器,最后再将业务数据迁移回该磁盘。迁移数据有风险,请提前做好备份。扩容内核大于3.6.0的弹性云服务器上的分区和文件系统请参见扩展磁盘分区和文件系统(Linux)。
  • 设置开机自动挂载磁盘分区 您可以通过配置fstab文件,设置云服务器系统启动时自动挂载磁盘分区。已有数据的云服务器也可以进行设置,该操作不会影响现有数据。 本文介绍如何在fstab文件中使用UUID来设置自动挂载磁盘分区。不建议采用在“/etc/fstab”直接指定设备名(比如/dev/vdb1)的方法,因为云中设备的顺序编码在关闭或者开启云服务器过程中可能发生改变,例如/dev/vdb1可能会变成/dev/vdb2,可能会导致云服务器重启后不能正常运行。 UUID(universally unique identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。 执行如下命令,查询磁盘分区的UUID。 blkid 磁盘分区 以查询磁盘分区“/dev/vdb1”的UUID为例: blkid /dev/vdb1 回显类似如下信息: [root@ecs-test-0001 ~]# blkid /dev/vdb1/dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4" 表示“/dev/vdb1”的UUID。 执行以下命令,使用VI编辑器打开“fstab”文件。 vi /etc/fstab 按“i”,进入编辑模式。 将光标移至文件末尾,按“Enter”,添加如下内容。 UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2 以上内容仅为示例,具体请以实际情况为准,参数说明如下: 第一列为UUID,此处填写1中查询到的磁盘分区的UUID。 第二列为磁盘分区的挂载目录,可以通过df -TH命令查询。 第三列为磁盘分区的文件系统格式, 可以通过df -TH命令查询。 第四列为磁盘分区的挂载选项,此处通常设置为defaults即可。 第五列为Linux dump备份选项。 0表示不使用Linux dump备份。现在通常不使用dump备份,此处设置为0即可。 1表示使用Linux dump备份。 第六列为fsck选项,即开机时是否使用fsck检查磁盘。 0表示不检验。 挂载点为(/)根目录的分区,此处必须填写1。 根分区设置为1,其他分区只能从2开始,系统会按照数字从小到大依次检查下去。 按“ESC”后,输入“:wq”,按“Enter”。 保存设置并退出编辑器。 执行以下步骤,验证自动挂载功能。 执行如下命令,卸载已挂载的分区。 umount 磁盘分区 命令示例: umount /dev/vdb1 执行如下命令,将“/etc/fstab”文件所有内容重新加载。 mount -a 执行如下命令,查询文件系统挂载信息。 mount | grep 挂载目录 命令示例: mount | grep /mnt/sdc 回显类似如下信息,说明自动挂载功能生效: root@ecs-test-0001 ~]# mount | grep /mnt/sdc/dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered)
  • 操作步骤 使用root用户登录云服务器。 执行以下命令,查看磁盘并记录设备名称。 fdisk -l | grep /dev/vd | grep -v vda 回显类似如下信息: [root@ecs-raid10 ~]# fdisk -l | grep /dev/vd | grep -v vdaDisk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectorsDisk /dev/vdc: 10.7 GB, 10737418240 bytes, 20971520 sectorsDisk /dev/vdd: 10.7 GB, 10737418240 bytes, 20971520 sectorsDisk /dev/vde: 10.7 GB, 10737418240 bytes, 20971520 sectors 可以看到云服务器上挂载的4块磁盘,设备名称分别为“/dev/vdb”、“/dev/vdc”、“/dev/vdd”和“/dev/vde”。 执行以下命令,安装mdadm工具。 yum install mdadm -y mdadm是Linux下的RAID管理工具,务必确保安装mdadm工具的云服务器已开通弹性公网IP。 回显类似如下信息: [root@ecs-raid10 ~]# yum install mdadm -y......Installed: mdadm.x86_64 0:4.0-13.el7Dependency Installed: libreport-filesystem.x86_64 0:2.1.11-40.el7.centosComplete! 执行以下命令,使用2中查到的4块磁盘创建RAID阵列。 mdadm -Cv RAID阵列设备名 -a yes -n 磁盘数量 -l RAID级别 磁盘1设备名 磁盘2设备名 磁盘3设备名 磁盘4设备名... 参数说明如下: RAID阵列设备名:可自定义,此处以/dev/md0为例。 磁盘数量:根据实际情况填写,此处RAID10至少为4块。 不同的RAID阵列要求的最小磁盘数量不同,具体说明请参见方案概述。 RAID级别:根据实际情况填写,此处以RAID10为例。 磁盘设备名:此处需要填写待组建RAID阵列的所有磁盘设备名,中间以空格隔开。 命令示例: mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/vdb /dev/vdc /dev/vdd /dev/vde 回显类似如下信息: [root@ecs-raid10 ~]# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/vdb /dev/vdc /dev/vdd /dev/vdemdadm: layout defaults to n2mdadm: layout defaults to n2mdadm: chunk size defaults to 512Kmdadm: size set to 10476544Kmdadm: Defaulting to version 1.2 metadatamdadm: array /dev/md0 started. 执行以下命令,格式化新建的RAID阵列。 mkfs.文件格式 RAID阵列设备名 命令示例: mkfs.ext4 /dev/md0 回显类似如下信息: [root@ecs-raid10 ~]# mkfs.ext4 /dev/md0mke2fs 1.42.9 (28-Dec-2013)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=128 blocks, Stripe width=256 blocks1310720 inodes, 5238272 blocks261913 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=2153775104160 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000Allocating group tables: doneWriting inode tables: doneCreating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: done 执行以下命令,创建挂载目录。 mkdir 挂载目录 命令示例: mkdir /RAID10 执行以下命令,挂载RAID阵列设备名。 mount RAID阵列设备名 挂载目录 命令示例: mount /dev/md0 /RAID10 执行以下命令,查看RAID阵列的挂载结果。 df -h 回显类似如下信息: [root@ecs-raid10 ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/vda2 39G 1.5G 35G 5% /devtmpfs 911M 0 911M 0% /devtmpfs 920M 0 920M 0% /dev/shmtmpfs 920M 8.6M 911M 1% /runtmpfs 920M 0 920M 0% /sys/fs/cgroup/dev/vda1 976M 146M 764M 17% /boottmpfs 184M 0 184M 0% /run/user/0/dev/md0 20G 45M 19G 1% /RAID10 执行以下步骤,设置云服务器系统启动时自动挂载RAID阵列。 执行以下命令,打开“/etc/fstab”文件。 vi /etc/fstab 按“i”进入编辑模式。 回显类似如下信息: [root@ecs-raid10 ~]# 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 1UUID=2b2000b1-f926-4b6b-ade8-695ee244a901 /boot ext4 defaults 1 2 参考以下示例,在文件的最后一行添加如下配置: /dev/md0 /RAID10 ext4 defaults 0 0 按“Esc”,输入“:wq!”,并按“Enter”。 保存设置并退出vi编辑器。 执行以下命令,查看磁盘RAID阵列的信息。 mdadm -D RAID阵列设备名 命令示例: mdadm -D /dev/md0 回显类似如下信息: [root@ecs-raid10 ~]# mdadm -D /dev/md0/dev/md0: Version : 1.2 Creation Time : Thu Nov 8 15:49:02 2018 Raid Level : raid10 Array Size : 20953088 (19.98 GiB 21.46 GB) Used Dev Size : 10476544 (9.99 GiB 10.73 GB) Raid Devices : 4 Total Devices : 4 Persistence : Superblock is persistent Update Time : Thu Nov 8 16:15:11 2018 State : clean Active Devices : 4 Working Devices : 4 Failed Devices : 0 Spare Devices : 0 Layout : near=2 Chunk Size : 512KConsistency Policy : resync Name : ecs-raid10.novalocal:0 (local to host ecs-raid10.novalocal) UUID : f400dbf9:60d211d9:e006e07b:98f8758c Events : 19 Number Major Minor RaidDevice State 0 253 16 0 active sync set-A /dev/vdb 1 253 32 1 active sync set-B /dev/vdc 2 253 48 2 active sync set-A /dev/vdd 3 253 64 3 active sync set-B /dev/vde
  • 方法一:使用fdisk命令查看分区形式和文件系统 执行以下命令,查看云服务器挂载的所有磁盘情况。 lsblk 回显类似如下信息: [root@ecs-test-0001 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTvda 253:0 0 40G 0 disk└─vda1 253:1 0 40G 0 part /vdb 253:16 0 150G 0 disk└─vdb1 253:17 0 100G 0 part /mnt/sdc 本示例中数据盘“/dev/vdb”扩容前已有分区“/dev/vdb1”,将数据盘扩容50GB后,新增的容量还未划分磁盘分区,因此“/dev/vdb”显示150GB,“/dev/vdb1”显示100GB。 如果执行了lsblk,发现磁盘“/dev/vdb”没有分区,针对这种没有分区的磁盘,扩容后的容量可能无法正常使用,解决方法请参见Linux系统扩容数据盘时,如何扩展未分区磁盘文件系统 执行以下命令,查看当前磁盘分区的分区形式。 fdisk -l 回显类似如下信息: [root@ecs-test-0001 ~]# fdisk -lDisk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x000bcb4e Device Boot Start End Blocks Id System/dev/vda1 * 2048 83886079 41942016 83 LinuxDisk /dev/vdb: 161.1 GB, 161061273600 bytes, 314572800 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x38717fc1 Device Boot Start End Blocks Id System/dev/vdb1 2048 209715199 104856576 83 Linux “system”为“Linux”表示分区形式为MBR。“system”为“GPT”表示分区形式为GPT。 若回显中没有列出所有的磁盘分区,和1中的信息不符合。可能原因是:磁盘已有分区为GPT,并且扩容后存在未分配分区的空间,此时使用fdisk -l无法查看所有分区的信息,请参考方法二:使用parted命令查看分区形式和文件系统重新确认磁盘分区形式和文件系统。 若回显中列出了所有的磁盘分区,和1中的信息符合,则继续执行以下操作。 执行以下命令,查看磁盘分区的文件系统格式。 blkid 磁盘分区 命令示例: blkid /dev/vdb1 [root@ecs-test-0001 ~]# blkid /dev/vdb1/dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4" “TYPE”为“ext4”:表示为/dev/vdb1的文件系统是ext4。 执行以下命令,确认文件系统的状态。 ext*:e2fsck -n 磁盘分区 xfs:xfs_repair -n 磁盘分区 以“ext4”为例: e2fsck -n /dev/vdb1 回显类似如下信息: [root@ecs-test-0001 ~]# e2fsck -n /dev/vdb1e2fsck 1.42.9 (28-Dec-2013)Warning! /dev/vdb1 is mounted.Warning: skipping journal recovery because doing a read-only filesystem check./dev/vdb1: clean, 11/6553600 files, 459544/26214144 blocks 文件系统状态为clean表示状态正常,若不是clean,请先修复问题后执行扩容操作。
  • 方法二:使用parted命令查看分区形式和文件系统 执行以下命令,查看云服务器挂载的所有磁盘情况。 lsblk 回显类似如下信息: [root@ecs-test-0001 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTvda 253:0 0 40G 0 disk└─vda1 253:1 0 40G 0 part /vdb 253:16 0 150G 0 disk└─vdb1 253:17 0 100G 0 part /mnt/sdc 本示例中数据盘“/dev/vdb”扩容前已有分区“/dev/vdb1”,将数据盘扩容50GB后,新增的容量还未划分磁盘分区,因此“/dev/vdb”显示150GB,“/dev/vdb1”显示100GB。 如果执行了lsblk,发现磁盘“/dev/vdb”没有分区,针对这种没有分区的磁盘,扩容后的容量可能无法正常使用,解决方法请参见Linux系统扩容数据盘时,如何扩展未分区磁盘文件系统 执行以下命令,指定一块磁盘,然后输入“p”,查看磁盘的分区形式。 parted 磁盘 以查看“/dev/vdb”的分区形式为例: parted /dev/vdb 回显类似如下信息: [root@ecs-test-0001 ~]# parted /dev/vdbGNU Parted 3.1Using /dev/vdbWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) pError: The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes thedisk is smaller. Fix, by moving the backup to the end (and removing the old backup)?Fix/Ignore/Cancel? FixWarning: Not all of the space available to /dev/vdb appears to be used, you can fix the GPT to use all of the space (an extra 104857600blocks) or continue with the current setting?Fix/Ignore? FixModel: Virtio Block Device (virtblk)Disk /dev/vdb: 161GBSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags:Number Start End Size File system Name Flags 1 1049kB 107GB 107GB ext4 test(parted) “Partition Table”表示当前磁盘的分区形式,msdos表示磁盘分区形式为MBR,gpt表示磁盘分区形式为GPT。 若系统出现以下Error,请输入“Fix”。 Error: The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes thedisk is smaller. Fix, by moving the backup to the end (and removing the old backup)? GPT分区表信息存储在磁盘开头,为了减少分区表损坏的风险,同时在磁盘末尾会备份一份。当磁盘容量扩大后,末尾位置也会随之变化,因此需要根据系统提示输入“Fix”,将分区表信息的备份文件挪到新的磁盘末尾位置。 若系统出现以下Warning,请输入“Fix”。 Warning: Not all of the space available to /dev/vdb appears to be used, you can fix the GPT to use all of the space (an extra 104857600blocks) or continue with the current setting?Fix/Ignore? Fix 根据系统提示输入“Fix”,系统会自动将磁盘扩容部分的容量设置为GPT。 查看完成后,输入“q”,退出parted模式。
  • 新增MBR分区 系统盘“/dev/vda”原有容量40GB,只有一个分区“/dev/vda1”。将系统盘容量扩大至80GB,本示例为新增的40GB分配新的MBR分区“/dev/vda2”。 执行以下命令,查看磁盘的分区信息。 fdisk -l 回显类似如下信息: [root@ecs-2220 ~]# fdisk -lDisk /dev/vda: 85.9 GB, 85899345920 bytes, 167772160 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x0008d18f Device Boot Start End Blocks Id System/dev/vda1 * 2048 83886079 41942016 83 Linux 表示当前系统盘“dev/vda”容量为80 GB,当前正在使用的分区“dev/vda1”为40 GB,新扩容的40 GB还未分配分区。 执行如下命令之后,进入fdisk分区工具。 fdisk /dev/vda 回显类似如下信息: [root@ecs-2220 ~]# fdisk /dev/vdaWelcome 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.Command (m for help): 输入“n”,按“Enter”,开始新建分区。 回显类似如下信息: Command (m for help): nPartition type: p primary (1 primary, 0 extended, 3 free) e extended 表示磁盘有两种分区类型: “p”表示主分区。 “e”表示扩展分区。 磁盘使用MBR分区形式,最多可以创建4个主分区,或者3个主分区加1个扩展分区,扩展分区不可以直接使用,需要划分成若干个逻辑分区才可以使用。 磁盘使用GPT分区形式时,没有主分区、扩展分区以及逻辑分区之分。 以创建一个主要分区为例,输入“p”,按“Enter”,开始创建一个主分区。 回显类似如下信息: Select (default p): pPartition number (2-4, default 2): 以分区编号选择“2”为例,输入分区编号“2”,按“Enter”。 回显类似如下信息: Partition number (2-4, default 2): 2First sector (83886080-167772159, default 83886080): 输入新分区的起始磁柱值,以使用默认起始磁柱值为例,按“Enter”。 系统会自动提示分区可用空间的起始磁柱值和截止磁柱值,可以在该区间内自定义,或者使用默认值。起始磁柱值必须小于分区的截止磁柱值。 回显类似如下信息: First sector (83886080-167772159, default 83886080):Using default value 83886080Last sector, +sectors or +size{K,M,G} (83886080-167772159,default 167772159): 输入新分区的截止磁柱值,以使用默认截止磁柱值为例,按“Enter”。 系统会自动提示分区可用空间的起始磁柱值和截止磁柱值,可以在该区间内自定义,或者使用默认值。起始磁柱值必须小于分区的截止磁柱值。 回显类似如下信息: Last sector, +sectors or +size{K,M,G} (83886080-167772159,default 167772159):Using default value 167772159Partition 2 of type Linux and of size 40 GiB is setCommand (m for help): 输入“p”,按“Enter”,查看新建分区。 回显类似如下信息: Command (m for help): pDisk /dev/vda: 85.9 GB, 85899345920 bytes, 167772160 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x0008d18f Device Boot Start End Blocks Id System/dev/vda1 * 2048 83886079 41942016 83 Linux/dev/vda2 83886080 167772159 41943040 83 LinuxCommand (m for help): 输入“w”,按“Enter”,将分区结果写入分区表中。 回显类似如下信息: Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks. 表示分区创建完成。 如果之前分区操作有误,请输入“q”,则会退出fdisk分区工具,之前的分区结果将不会被保留。 执行以下命令,将新的分区表变更同步至操作系统。 partprobe 执行以下命令,设置新建分区文件系统格式。 mkfs -t 文件系统 磁盘分区 ext*文件系统命令示例: 以“ext4” 文件格式为例: mkfs -t ext4 /dev/vda2 回显类似如下信息: [root@ecs-2220 ~]# mkfs -t ext4 /dev/vda2mke2fs 1.42.9 (28-Dec-2013)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks2621440 inodes, 10485760 blocks524288 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=2157969408320 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624Allocating group tables: doneWriting inode tables: doneCreating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: done xfs文件系统命令示例: mkfs -t xfs /dev/vda2 回显类似如下信息: [root@ecs-2220 ~]# mkfs -t xfs /dev/vda2 meta-data=/dev/vda2 isize=512 agcount=4, agsize=2621440 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0data = bsize=4096 blocks=10485760, imaxpct=25 = sunit=0 swidth=0 blksnaming =version2 bsize=4096 ascii-ci=0 ftype=1log =internal log bsize=4096 blocks=5120, version=2 = sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0 格式化需要等待一段时间,请观察系统运行状态,若回显中进程提示为done,则表示格式化完成。 (可选)执行以下命令,新建挂载目录。 若需要挂载至新建目录下,执行该操作。 mkdir 挂载目录 以新建挂载目录“/opt”为例: mkdir /opt 执行以下命令,挂载新建分区。 mount 磁盘分区 挂载目录 以挂载新建分区“/dev/vda2”至“/opt”为例: mount /dev/vda2 /opt 新增加的分区挂载到不为空的目录时,该目录下原本的子目录和文件会被隐藏,所以,新增的分区最好挂载到空目录或者新建目录。如确实要挂载到不为空的目录,可将该目录下的子目录和文件临时移动到其他目录下,新分区挂载成功后,再将子目录和文件移动回来。 执行以下命令,查看挂载结果。 df -TH 回显类似如下信息: [root@ecs-2220 ~]# df -THFilesystem Type Size Used Avail Use% Mounted on/dev/vda1 ext4 43G 2.0G 39G 5% /devtmpfs devtmpfs 509M 0 509M 0% /devtmpfs tmpfs 520M 0 520M 0% /dev/shmtmpfs tmpfs 520M 7.2M 513M 2% /runtmpfs tmpfs 520M 0 520M 0% /sys/fs/cgrouptmpfs tmpfs 104M 0 104M 0% /run/user/0/dev/vda2 ext4 43G 51M 40G 1% /opt 云服务器重启后,挂载会失效。您可以修改“/etc/fstab”文件,将新建磁盘分区设置为开机自动挂载,请参见设置开机自动挂载磁盘分区。
  • 设置开机自动挂载磁盘分区 您可以通过配置fstab文件,设置云服务器系统启动时自动挂载磁盘分区。已有数据的云服务器也可以进行设置,该操作不会影响现有数据。 本文介绍如何在fstab文件中使用UUID来设置自动挂载磁盘分区。不建议采用在“/etc/fstab”直接指定设备名(比如/dev/vdb1)的方法,因为云中设备的顺序编码在关闭或者开启云服务器过程中可能发生改变,例如/dev/vdb1可能会变成/dev/vdb2,可能会导致云服务器重启后不能正常运行。 UUID(universally unique identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。 执行如下命令,查询磁盘分区的UUID。 blkid 磁盘分区 以查询磁盘分区“/dev/vdb1”的UUID为例: blkid /dev/vdb1 回显类似如下信息: [root@ecs-test-0001 ~]# blkid /dev/vdb1/dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4" 表示“/dev/vdb1”的UUID。 执行以下命令,使用VI编辑器打开“fstab”文件。 vi /etc/fstab 按“i”,进入编辑模式。 将光标移至文件末尾,按“Enter”,添加如下内容。 UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2 以上内容仅为示例,具体请以实际情况为准,参数说明如下: 第一列为UUID,此处填写1中查询到的磁盘分区的UUID。 第二列为磁盘分区的挂载目录,可以通过df -TH命令查询。 第三列为磁盘分区的文件系统格式, 可以通过df -TH命令查询。 第四列为磁盘分区的挂载选项,此处通常设置为defaults即可。 第五列为Linux dump备份选项。 0表示不使用Linux dump备份。现在通常不使用dump备份,此处设置为0即可。 1表示使用Linux dump备份。 第六列为fsck选项,即开机时是否使用fsck检查磁盘。 0表示不检验。 挂载点为(/)根目录的分区,此处必须填写1。 根分区设置为1,其他分区只能从2开始,系统会按照数字从小到大依次检查下去。 按“ESC”后,输入“:wq”,按“Enter”。 保存设置并退出编辑器。 执行以下步骤,验证自动挂载功能。 执行如下命令,卸载已挂载的分区。 umount 磁盘分区 命令示例: umount /dev/vdb1 执行如下命令,将“/etc/fstab”文件所有内容重新加载。 mount -a 执行如下命令,查询文件系统挂载信息。 mount | grep 挂载目录 命令示例: mount | grep /mnt/sdc 回显类似如下信息,说明自动挂载功能生效: root@ecs-test-0001 ~]# mount | grep /mnt/sdc/dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered)
  • 查看Linux操作系统内核版本 执行以下命令,查看Linux操作系统内核版本。 uname -a 需要根据Linux内核版本是否高于3.6.0选择对应的操作: 以“CentOS 7.4 64bit”为例,回显类似如下信息: Linux ecs-test-0001 3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 x86_64 x86_64 内核版本为3.10.0,高于3.6.0,具体操作请参见扩展系统盘的分区和文件系统(Linux内核高于3.6.0)。 以“CentOS 6.5 64bit”为例,回显类似如下信息: Linux ecs-test-0002 2.6.32-754.10.1.el6.x86_64 #1 SMP Tue Jan 15 17:07:28 UTC 2019 x86_64 内核版本为2.6.32,低于3.6.0,需要reboot重启,才可以完成分区和文件系统扩展,具体操作请参见本章节内容。
  • 操作场景 通过云服务管理控制台扩容成功后,仅扩大了云硬盘的存储容量,因此需要参考本章节操作扩展分区和文件系统。 对于Linux操作系统而言,需要将扩容部分的容量划分至已有分区内,或者为扩容部分的云硬盘分配新的分区。 如果在云服务器关机的时候扩容了系统盘,则开机后,Linux系统盘的新增容量可能会自动扩展至末尾分区内,此时新增容量可以直接使用。 本文以内核低于3.6.0的“CentOS 6.5 64bit”操作系统为例,提供growpart和fdisk两种工具的扩容指导。不同操作系统的操作可能不同,本文仅供参考,具体操作步骤和差异请参考对应操作系统的产品文档。 扩大已有MBR分区(内核版本低于3.6.0) 新增MBR分区 查看Linux内核版本方法请参见查看Linux操作系统内核版本。 扩容时请谨慎操作,误操作可能会导致数据丢失或者异常,建议扩容前对数据进行备份,可以使用CBR或者快照功能,CBR请参见管理备份云硬盘,快照功能请参见创建快照(公测)。 当操作系统内核低于3.6.0时,扩大已有MBR分区需要reboot重启,扩展分区和文件系统才会生效,会中断业务。reboot重启后,新增容量会自动扩展至系统盘末尾分区内。 如果您不希望重启弹性云服务器来扩展分区和文件系统,您可以先将该数据盘中的业务数据迁移至弹性云服务器中的其他磁盘,然后卸载该数据盘,并将其挂载至其他内核大于3.6.0的弹性云服务器上来扩展磁盘分区和文件系统,扩展完成后再将其挂载回原始弹性云服务器,最后再将业务数据迁移回该磁盘。迁移数据有风险,请提前做好备份。扩容内核大于3.6.0的弹性云服务器上的分区和文件系统请参见扩展磁盘分区和文件系统(Linux)。
  • 扩大已有MBR分区(内核版本低于3.6.0) 以“CentOS 6.5 64bit”操作系统为例,系统盘“/dev/vda”原有容量40GB,只有一个分区“/dev/vda1”。将系统盘容量扩大至100GB,本示例将新增的60GB划分至已有的MBR分区内“/dev/vda1”内。 (可选)执行以下命令,安装growpart扩容工具。 yum install cloud-utils-growpart 可以用growpart命令检查当前系统是否已安装growpart扩容工具,若回显为工具使用介绍,则表示已安装,无需重复安装。 执行以下命令,安装dracut-modules-growroot工具。 yum install dracut-modules-growroot 回显类似如下信息: [root@ecs-test-0002 ~]# yum install dracut-modules-growrootLoaded plugins: fastestmirror, securitySetting up Install ProcessLoading mirror speeds from cached hostfileepel/metalink | 4.3 kB 00:00 * epel: pubmirror1.math.uh.edubase | 3.7 kB 00:00 extras | 3.4 kB 00:00 updates | 3.4 kB 00:00 Package dracut-modules-growroot-0.20-2.el6.noarch already installed and latest versionNothing to do 执行以下命令,重新生成initramfs文件。 dracut -f 执行以下命令,查看系统盘“/dev/vda”的总容量。 fdisk -l 回显类似如下信息: [root@ecs-test-0002 ~]# fdisk -lDisk /dev/vda: 107.4 GB, 107374182400 bytes255 heads, 63 sectors/track, 13054 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x0004e0be Device Boot Start End Blocks Id System/dev/vda1 * 1 5222 41942016 83 Linux 执行以下命令,查看系统盘分区“/dev/vda1”的容量。 df -TH 回显类似如下信息: [root@ecs-test-0002 ~]# df -THFilesystem Type Size Used Avail Use% Mounted on/dev/vda1 ext4 43G 1.7G 39G 5% /tmpfs tmpfs 2.1G 0 2.1G 0% /dev/shm 执行以下命令,重启云服务器。 reboot 待重启完成后,重新连接云服务器后,执行以下操作。 重启云服务器后,扩展磁盘分区和文件系统即可生效,无需再执行“resize2fs 磁盘分区”命令来扩展分区和文件系统。 执行以下命令,查看扩容后系统盘分区“/dev/vda1”的容量。 df -TH 回显类似如下信息: [root@ecs-test-0002 ~]# df -THFilesystem Type Size Used Avail Use% Mounted on/dev/vda1 ext4 106G 1.7G 99G 2% /tmpfs tmpfs 2.1G 0 2.1G 0% /dev/shm
  • 操作步骤 使用root用户登录云服务器。 执行以下命令,查看RAID阵列的UUID等信息。 mdadm --detail --scan 回显类似如下信息: [root@ecs-raid10 ~]# mdadm --detail --scanARRAY /dev/md0 metadata=1.2 name=ecs-raid10.novalocal:0 UUID=f400dbf9:60d211d9:e006e07b:98f8758c 执行以下步骤,在mdadm文件中添加新建RAID阵列的信息。 执行以下命令,打开“mdadm.conf”文件。 vi /etc/mdadm.conf 按“i”进入编辑模式。 参考以下示例,在文件最后添加如下配置: DEVICE /dev/vdb /dev/vdc /dev/vdd /dev/vdeARRAY /dev/md0 metadata=1.2 name=ecs-raid10.novalocal:0 UUID=f400dbf9:60d211d9:e006e07b:98f8758c 说明如下: DEVICE行:为组建RAID阵列的磁盘设备名,多个磁盘设备名以空格隔开。 ARRAY行:此处填写2中查到的RAID阵列信息。 此处仅为本示例的信息,请根据RAID阵列的实际信息添加。 按“Esc”,输入“:wq!”,并按“Enter”。 保存设置并退出vi编辑器。 执行以下命令,查看“mdadm.conf”文件是否修改成功。 more /etc/mdadm.conf 回显类似如下信息: [root@ecs-raid10 ~]# more /etc/mdadm.confDEVICE /dev/vdb /dev/vdc /dev/vdd /dev/vdeARRAY /dev/md0 metadata=1.2 name=ecs-raid10.novalocal:0 UUID=f400dbf9:60d211d9:e006e07b:98f8758c 可以看到3中添加的信息,表示修改成功。
  • 扩容后的云硬盘容量大于2TiB该如何处理 EVS服务支持的最大系统盘容量为1 TiB(1024 GiB),即您最大可将系统盘扩容至1 TiB。 EVS服务支持的最大数据盘容量为32 TiB(32768 GiB)。 当数据盘使用MBR分区形式时,容量最大支持2 TiB(2048 GiB),超过2 TiB的部分无法使用。 如果因为业务需求要将该数据盘扩容至2 TiB以上并投入使用。则必须将MBR切换成GPT,期间会中断业务,并且更换分区形式时会清除数据盘原有数据,请在扩容前先对数据进行备份。 当磁盘使用GPT分区形式时,容量最大支持18 EiB(19327352832 GiB)。由于EVS服务支持的最大数据盘容量为32 TiB,因此使用GPT的数据盘最大可扩容至32 TiB。 如果当前磁盘使用的是GPT分区形式,可以参考以下方法进行扩容。 Windows: 扩展磁盘分区和文件系统(Windows) Linux: 扩展数据盘的分区和文件系统(Linux) 父主题: 云硬盘扩容问题
  • 云硬盘扩容时需要先卸载吗 扩容操作分为以下两部分: 通过管理控制台扩容云硬盘的存储容量,主要情况如下: 共享云硬盘扩容前需要先卸载,当处于“可用”状态后,才可以扩容。 非共享云硬盘可以在不卸载的情况下扩容,有以下约束限制: 云硬盘状态为“正在使用”,并且云硬盘所挂载的云服务器状态必须为“运行中”或者“关机”状态。 扩容“正在使用”的云硬盘对云硬盘所挂载的云服务器操作系统有要求,仅部分操作系统支持。 扩容状态为“正在使用”的云硬盘时,对云硬盘所挂载的云服务器操作系统有要求,具体可参见扩容“正在使用”状态的云硬盘容量。 登录云服务器对云硬盘执行扩容后操作,即将新增划分至原有分区内,或者为新增容量分配新的分区。 Windows:无论哪种扩容后操作,此处均不涉及卸载操作。 Linux: 将新增容量划分至原有分区内,即扩大已有分区:需要先通过umount命令将原有分区卸载后,再执行扩容后处理。 为新增容量分配新的分区,即新增分区:不影响原有分区挂载情况,不需要卸载原有分区。 父主题: 云硬盘扩容问题
  • Linux数据盘 问题现象:已经通过管理控制台将数据盘挂载至Linux云服务器,但是登录到云服务器后找不到数据盘。 以CentOS 7.4为例:执行df -TH命令查看磁盘信息,正常回显如下: [root@ecs-test-0001 ~]# df -THFilesystem Type Size Used Avail Use% Mounted on/dev/vda1 ext4 43G 1.9G 39G 5% /devtmpfs devtmpfs 2.0G 0 2.0G 0% /devtmpfs tmpfs 2.0G 0 2.0G 0% /dev/shmtmpfs tmpfs 2.0G 9.1M 2.0G 1% /runtmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgrouptmpfs tmpfs 398M 0 398M 0% /run/user/0/dev/vdb1 ext4 106G 63M 101G 1% /mnt/sdc
  • 排查思路 表1 原因分析 操作系统 可能原因 处理措施 Linux 新的数据盘默认是没有分区和文件系统的,因此在磁盘信息中不会显示,需要先手动执行初始化操作。 如果云服务器重启后,发现找不到数据盘,则可能是由于您未设置开机时自动挂载数据,重启之后没有挂载,因此查不到。 Linux数据盘 Windows 新的数据盘默认是没有分区和文件系统的,因此在资源管理器中不会显示,需要先手动执行初始化操作。 Windows数据盘
  • 云硬盘可以挂载至不同可用区的云服务器吗 不可以。 云硬盘只可以挂载至同一个可用区的云服务器。即使是共享云硬盘,也只能挂载在同一可用区的多台云服务器上。 如果您的云硬盘和云服务器不在同一可用区,建议如下: 云硬盘无数据或不再需要盘内数据。 删除或退订云硬盘,然后 购买云服务器 同一可用区内的云硬盘即可。删除云硬盘请参见删除云硬盘。 需要保留云硬盘内的数据。 可以通过云备份服务创建云硬盘备份,再使用备份创建新的云硬盘,在配置云硬盘信息时,选择云服务器所在可用区即可。具体操作请参见创建云硬盘备份和使用备份创建新云硬盘。 父主题: 云硬盘挂载问题
  • 为什么无法删除云硬盘 请查看待删除的云硬盘是否满足以下条件: 按需计费云硬盘 需要满足以下条件,您才可以参考本章节操作删除云硬盘。 云硬盘状态为“可用”、“错误”、“扩容失败”、“恢复数据失败”和“回滚数据失败”。 云硬盘未被加入到存储容灾服务的复制对中。如果云硬盘已经被加入到复制对中,需要先删除复制对,再删除云硬盘。 云硬盘资源未被其他服务资源占用锁定时。 包年/包月云硬盘 您无法直接删除该云硬盘,但是可以根据需求退订该云硬盘。退订操作方法具体参见退订包年包月的云硬盘,退订规则具体请参见云服务退订规则说明。 父主题: 云硬盘删除问题
  • 云硬盘扩容后是否需要重启云服务器 云硬盘支持在“可用”和“正在使用”状态进行扩容,通过管理控制台扩容成功后,仅扩大了云硬盘的存储容量,还需要登录云服务器自行扩展分区和文件系统。扩展分区和文件系统时可能需要重启云服务器,具体情况如下: “正在使用”状态云硬盘存储容量扩大后,登录云服务器查看容量。 如果可以看到扩大的容量,则直接扩展分区和文件系统,不需要重启。 如果未看到扩大的容量,则可能原因是挂载的云服务器操作系统不在兼容性列表内,可以先关机再开机(不是重启),待看到扩大的容量后,再扩展分区和文件系统。 “可用”状态云硬盘存储容量扩大后,重新挂载至云服务器,扩展分区和文件系统后即可使用,不需要重启。 父主题: 云硬盘扩容问题
  • 使用SerialNumber查询磁盘标识(Windows) 如果控制台上显示的是SerialNumber,有以下两种方法查看对应的设备名称。 cmd命名查询方式: 在Windows操作系统中以管理员身份启动cmd,并执行以下命令。 wmic diskdrive get serialnumber wmic path win32_physicalmedia get SerialNumber wmic path Win32_DiskDrive get SerialNumber SerialNumber是磁盘UUID的前20位。 例如:控制台上VBD盘对应的SerialNumber为“97c876c0-54b3-460a-b”,使用以下任一命令查询磁盘SerialNumber。 wmic diskdrive get serialnumber wmic path win32_physicalmedia get SerialNumber wmic path Win32_DiskDrive get SerialNumber 回显信息如下所示: 图1 获取磁盘SerialNumber 执行以下命令查看SerialNumber对应的磁盘。 wmic diskdrive get Name, SerialNumber 图2 查看SerialNumber对应的磁盘 PowerShell命名查询方式: 在Windows操作系统中以管理员身份启动PowerShell。 执行以下命令查看逻辑卷对应的磁盘。 Windows 2012及以上版本的操作系统 执行以下命令查看逻辑卷对应的磁盘 Get-CimInstance -ClassName Win32_LogicalDiskToPartition |select Antecedent, Dependent |fl 图3所示查询到的逻辑卷C对应的磁盘是Disk 0 执行以下命令查看SerialNumber与磁盘的对应关系。 Get-Disk |select Number, SerialNumber 图3所示SerialNumber“97c876c0-54b3-460a-b”对应的是Disk 0。 图3 查看逻辑卷对应的磁盘 Windows 2012以下版本的操作系统 执行以下命令查看逻辑卷对应的磁盘 Get-WmiObject -Class Win32_PhysicalMedia |select Tag, Serialnumber 执行以下命令查看SerialNumber与磁盘的对应关系。 Get-WmiObject -Class Win32_LogicalDiskToPartition |select Antecedent, Dependent |fl
共100000条