云服务器内容精选

  • 设置开机自动挂载磁盘分区 您可以通过配置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)
  • 操作场景 本文以的操作系统为“CentOS 7.4 64位”为例,采用Parted分区工具为数据盘设置分区。 MBR支持的磁盘最大容量为2 TiB,GPT最大支持的磁盘容量为18 EiB,因此当您初始化容量大于2 TiB的磁盘时,分区形式请采用GPT。 fdisk分区工具只适用于MBR分区,parted工具适用于MBR分区和GPT分区。关于磁盘分区形式的更多介绍,请参见场景及磁盘分区形式介绍。 不同的操作系统的格式化操作可能不同,本文仅供参考,具体操作步骤和差异请参考对应的操作系统的产品文档。 首次使用磁盘时,如果您未参考本章节对磁盘执行初始化操作,主要包括创建分区和文件系统等操作,那么当后续扩容磁盘时,新增容量部分的磁盘可能无法正常使用。
  • 使用脚本初始化数据盘 登录云服务器。 登录弹性云服务器请参见登录弹性云服务器。 登录裸金属服务器请参见登录裸金属服务器。 查看待初始化的云硬盘的磁盘信息。 lsblk [root@ecs-centos76 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk └─vda1 253:1 0 40G 0 part / vdb 253:16 0 100G 0 disk 回显示例表示当前有两块云硬盘,“/dev/vda”是系统盘,“/dev/vdb”是新增数据盘,有100G还未分区。 执行以下命令获取自动初始化磁盘脚本。 wget https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/datadisk/LinuxVMDataDiskAutoInitialize.sh 如果回显异常,请检查云服务器是否绑定弹性公网IP,绑定弹性公网IP后才能获取脚本。 修改自动初始化磁盘脚本权限。 chmod +x LinuxVMDataDiskAutoInitialize.sh 执行初始化脚本自动检测待初始化的数据盘。 ./LinuxVMDataDiskAutoInitialize.sh 脚本将自动检测当前在服务器上除系统盘之外的盘符并显示出来。 输入盘符如/dev/vdb并回车,脚本将自动执行硬盘的创建分区(/dev/vdb1)与格式化。 您可以使用lsblk查看E CS 挂载的所有盘符情况。 对于有数据的云硬盘,脚本会自动检测出您选择的磁盘已经被挂载并显示出挂载的位置,请根据提示选择是否卸载磁盘。成功卸载磁盘后根据提示选择是否开始格式化磁盘。 对磁盘进行挂载操作,例如输入挂载目录为/data-test,脚本会自动新建该目录进行挂载操作。 脚本将会自动设置为开机自动挂载。 根据图上回显可知,针对/dev/vdb磁盘分区为/dev/vdb1的初始化成功,并且已挂载至/data-test目录下。
  • 初始化已使用的磁盘 登录云服务器,执行以下命令获取自动初始化磁盘脚本。 wget https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/datadisk/LinuxVMDataDiskAutoInitialize.sh 修改自动初始化磁盘脚本权限 chmod -x LinuxVMDataDiskAutoInitialize.sh 执行初始化脚本自动检测待初始化的数据盘。 sh LinuxVMDataDiskAutoInitialize.sh 脚本会自动检测出您选择的磁盘已经被挂载并显示出挂载的位置,根据提示选择是否卸载磁盘,输入“y ”为确定卸载,输入“n”则退出脚本。此处选择“y”继续后续的初始化操作。 图1 卸载磁盘 成功卸载磁盘后根据提示选择是否开始格式化磁盘,输入“y”为确定格式化,输入“n”则退出脚本。 图2 开始格式化磁盘 成功格式化磁盘后将会自动执行磁盘的创建分区与格式化,根据提示输入这个磁盘需要挂载的位置,比如/data-test。 图3 输入磁盘挂载路径 等待脚本自动挂载并设置为开机自动挂载后,就完成了磁盘创建分区格式化和挂载磁盘的工作。 图4 完成磁盘分区格式化与磁盘挂载
  • 操作场景 本文介绍使用脚本和手动方式初始化Linux系统中的数据盘,不同云服务器的操作系统的初始化操作可能不同,请根据您的实际环境进行操作。 表1 初始化指导 操作指导 操作系统 分区格式 文件系统 初始化工具 配置示例 手动初始化数据盘 不限 GPT MBR ext*(如ext2、ext3、ext4)、xfs、btrfs fdisk parted 说明: 设置分区为GPT格式,请使用parted工具。 初始化工具:fdisk 设备名:/dev/vdb 文件系统:ext4 挂载目录:/mnt/sdc、/mnt/sdd 分区一:/dev/vdb1 容量:40GiB 分区格式:MBR 分区二:/dev/vdb2 容量:60GiB 分区格式:MBR 使用脚本初始化数据盘 CentOS MBR ext4 不涉及 设备名:/dev/vdb 分区名:/dev/vdb1 挂载目录:/data-test
  • 手动初始化数据盘 MBR分区个数最多支持4个主分区或最多3个主分区+1个扩展分区,在扩展分区中创建任意多个逻辑分区。 例如:您需要划分4个分区,可以使用4个主分区,或者1个主分区+1个扩展分区(3个逻辑分区),或者2个主分区+1个扩展分区(2个逻辑分区),或者3个主分区+1个扩展分区(1个逻辑分区)。 示例说明:使用fdisk工具,针对“/dev/vdb”数据盘划分2个分区,分别为40GiB(/dev/vdb1)、60GiB(/dev/vdb2),分区默认设置为MBR。如果您需要将分区格式设置为GPT,操作指导参见初始化Linux数据盘(容量大于2TiB) 登录云服务器。 登录弹性云服务器请参见登录弹性云服务器。 登录裸金属服务器请参见登录裸金属服务器。 针对数据盘“/dev/vdb”划分2个主分区/dev/vdb1、/dev/vdb2。 查看/dev/vdb数据盘容量为100GiB。 lsblk [root@ecs-centos76 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk └─vda1 253:1 0 40G 0 part / vdb 253:16 0 100G 0 disk 表示当前有两块云硬盘,“/dev/vda”是系统盘,“/dev/vdb”是新增数据盘,有100G还未分区。 依次执行以下命令开始新建第一个主分区/dev/vdb1,请将/dev/vdb1替换成您的目标分区名称。 fdisk /dev/vdb n p 1 [root@ecs-test-0001 ~]# 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. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x38717fc1. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 “Partition type”:“p”表示主分区,“e”表示扩展分区。 “Partition number”:分区编号,可以选择1-4。 针对第一个分区/dev/vdb1(40 GiB)设置起始磁柱值(2048)和截止磁柱值(83886079)。 First sector (2048-209715199, default 2048): 2048 Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):83886079 Partition 1 of type Linux and of size 40 GB is set 表2 起始磁柱值和截止磁柱值计算方法 磁柱 /dev/vdb1(40GiB) /dev/vdb2(60GiB) sectors值计算公式 起始磁柱值 2048(此处使用数据盘/dev/vdb的起始磁柱) /dev/vdb1的截止磁柱值 + 1 = 83886079+1 = 83886080 sectors值 =容量*1073741824/512 截止磁柱值 sectors值-1 =(40 * 1073741824 / 512 )-1 =83886079 起始磁柱值 + sectors - 1 = 83886080+(60 * 1073741824 / 512 ) -1 = 209715199 依次执行以下命令开始新建第二个主分区/dev/vdb2,请将/dev/vdb2替换成您的目标分区名称。 n p 2 Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 2): 2 针对第2个分区/dev/vdb2设置起始磁柱值(83886080)和截止磁柱值(209715199)。 First sector (83886080-209715199, default 83886080): 83886080 Last sector, +sectors or +size{K,M,G} (83886080-209715199, default 209715199):209715199 Partition 2 of type Linux and of size 60 GB is set 查看新建分区大小、分区格式信息。 p Command (m for help): p Disk /dev/vdb: 107.4 GB, 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 Disk label type: dos Disk identifier: 0x994727e5 Device Boot Start End Blocks Id System /dev/vdb1 2048 83886079 41942016 83 Linux /dev/vdb2 83886080 209715199 62914560 83 Linux Command (m for help): Disk label type: dos表示分区格式为MBR。 如果之前分区操作有误,请输入“q”,按“Enter”,则会退出fdisk分区工具,之前的分区结果将不会被保留。此时,重新执行创建分区步骤1和步骤2即可。 确认完成后,将分区结果写入分区表中。 w Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. 表示分区创建完成。 如果出现报错“-bash: partprobe: command not found”,则说明系统不识别该命令,需要执行“yum install -y parted”命令来安装该命令。安装成功后再执行上述命令。 执行以下命令,将新的分区表变更同步至操作系统。 partprobe 分别对分区/dev/vdb1(40GiB)和/dev/vdb2(60GiB)创建ext4文件系统。 mkfs -t ext4 /dev/vdb1 mkfs -t ext4 /dev/vdb2 创建文件系统格式需要等待一段时间,请确保看到如下回显后,再退出。 [root@ecs-test-0001 ~]# mkfs -t 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 2621440 inodes, 10485504 blocks 524275 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2157969408 320 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, 7962624 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done 执行以下命令确认文件系统类型是否是ext4 blkid [root@ecs-test-0001 ~]# blkid /dev/vdb /dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4" /dev/vdb2: UUID="0d6769k2-1745-9dsf-453d-hgd0b34267dj" TYPE="ext4" 新建目录,并将新建分区挂载至新建目录。 挂载/dev/vdb1到/mnt/sdc mkdir -p /mnt/sdc mount /dev/vdb1 /mnt/sdc 挂载/dev/vdb2到/mnt/sdd mkdir -p /mnt/sdd mount /dev/vdb2 /mnt/sdd 查看挂载结果 lsblk [root@ecs-test-0001 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk ├vda1 253:1 0 40G 0 part / vdb 253:16 0 100G 0 disk ├vdb1 253:17 0 40G 0 part /mnt/sdc ├vdb2 253:18 0 60G 0 part /mnt/sdd 表示新建分区“/dev/vdb1”和“/dev/vdb2”已分别挂载至“/mnt/sdc”、“/mnt/sdd”。 使用磁盘分区的UUID来设置开机自动挂载磁盘分区。 重启后,挂载会失效,因此需要设置开机自动挂载磁盘分区,即在/etc/fstab文件中添加新建磁盘分区信息,启动开机自动挂载磁盘分区。 不建议采用在“/etc/fstab”文件中直接指定设备名(比如/dev/vdb1)的方法,因为云中设备的顺序编码在关闭或者开启云服务器过程中可能发生改变(例如:/dev/vdb1可能会变成/dev/vdb2),可能会导致云服务器重启后不能正常运行。 UUID(universally unique identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。 该操作不会影响弹性云服务器中的现有数据。 查询磁盘分区的UUID。 blkid /dev/vdb1 blkid /dev/vdb2 [root@ecs-test-0001 ~]# blkid /dev/vdb /dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4" /dev/vdb2: UUID="0d6769k2-1745-9dsf-453d-hgd0b34267dj" TYPE="ext4" 记录磁盘分区“/dev/vdb1”和“/dev/vdb2”的UUID:0b3040e2-1367-4abb-841d-ddb0b92693df、0d6769k2-1745-9dsf-453d-hgd0b34267dj。 设置开机自动挂载磁盘分区 vi /etc/fstab 按“i”,进入编辑模式,将光标移至文件末尾,按“Enter”,添加下行内容: UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2 UUID=0d6769k2-1745-9dsf-453d-hgd0b34267dj /mnt/sdd ext4 defaults 0 2 按“ESC”后,输入“:wq”,按“Enter”,保存设置并退出编辑器。 表3 参数说明 参数示例 说明 UUID=0b3040e2-1367-4abb-841d-ddb0b92693df 磁盘分区的UUID /mnt/sdc 磁盘分区的挂载目录 ext4 磁盘分区的文件系统格式 defaults 磁盘分区的挂载选项,此处通常设置为defaults即可 0 Linux dump备份选项。 0表示不使用Linux dump备份。现在通常不使用dump备份,此处设置为0即可。 1表示使用Linux dump备份。 2 fsck选项,即开机时是否使用fsck检查磁盘。 2表示从挂载点为非根目录(/)的分区开始检验。 1表示从挂载点为根目录(/)的分区开始检验。 0表示不检验。 验证自动挂载功能已生效。 卸载已挂载的分区。 umount /dev/vdb1 umount /dev/vdb2 将“/etc/fstab”文件所有内容重新加载。 mount -a 则系统会将“/etc/fstab”文件所有内容重新加载。 查询文件系统挂载信息。 mount | grep /mnt/sdc mount | grep /mnt/sdd 回显类似如下信息,说明自动挂载功能生效。 root@ecs-test-0001 ~]# mount | grep /mnt/sdc /dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered) root@ecs-test-0001 ~]# mount | grep /mnt/sdd /dev/vdb2 on /mnt/sdd type ext4 (rw,relatime,data=ordered)
  • 使用脚本初始化数据盘 登录边缘实例。 登录边缘实例请参见登录弹性云服务器。 查看待初始化的云硬盘的盘符信息。 lsblk 执行以下命令获取自动初始化磁盘脚本。 wget https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/datadisk/LinuxVMDataDiskAutoInitialize.sh 如果回显异常,请检查边缘实例是否绑定弹性公网IP,绑定弹性公网IP后才能获取脚本。 使用脚本对/dev/vdb进行初始化 chmod +x LinuxVMDataDiskAutoInitialize.sh ./LinuxVMDataDiskAutoInitialize.sh 输入盘符如/dev/vdb并回车,脚本将自动执行硬盘的创建分区(/dev/vdb1)与格式化。 您可以使用lsblk查看ECS挂载的所有盘符情况。 对于有数据的云硬盘,脚本会自动检测出您选择的磁盘已经被挂载并显示出挂载的位置,请根据提示选择是否卸载磁盘。成功卸载磁盘后根据提示选择是否开始格式化磁盘。 对磁盘进行挂载操作,例如输入挂载目录为/data-test,脚本会自动新建该目录进行挂载操作。 脚本将会自动设置为开机自动挂载。 针对/dev/vdb磁盘分区为/dev/vdb1的初始化成功。
  • 手动初始化数据盘 MBR分区个数最多支持4个主分区或最多3个主分区+1个扩展分区,在扩展分区中创建任意多个逻辑分区。 例如:您需要划分4个分区,可以使用4个主分区,或者1个主分区+1个扩展分区(3个逻辑分区),或者2个主分区+1个扩展分区(2个逻辑分区),或者3个主分区+1个扩展分区(1个逻辑分区)。 示例说明:使用fdisk工具,针对“/dev/vdb”数据盘划分2个MBR主分区,分别为40GiB(/dev/vdb1)、60GiB(/dev/vdb2)。 登录边缘实例。 登录边缘实例请参见登录边缘实例。 针对数据盘“/dev/vdb”划分2个主分区/dev/vdb1、/dev/vdb2。 查看/dev/vdb数据盘容量为100GiB。 lsblk [root@ecs-centos76 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk ├vda1 253:1 0 1G 0 part /boot └vda2 253:2 0 39G 0 part / vdb 253:16 0 100G 0 disk 开始新建第一个主分区/dev/vdb1。 fdisk /dev/vdb n p 1 “Partition type”:“p”表示主分区,“e”表示扩展分区。 “1”代表主分区编号 [root@ecs-test-0001 ~]# 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. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x38717fc1. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 针对第一个分区/dev/vdb1(40 GiB)设置起始磁柱值(2048)和截止磁柱值(83886079)。 First sector (2048-209715199, default 2048): 2048 Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):83886079 Partition 1 of type Linux and of size 40 GB is set 开始新建第二个主分区/dev/vdb2。 n p 2 Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 2): 2 针对第2个分区/dev/vdb2设置起始磁柱值(83886080)和截止磁柱值(209715199)。 First sector (83886080-209715199, default 83886080): 83886080 Last sector, +sectors or +size{K,M,G} (83886080-209715199, default 209715199):209715199 Partition 2 of type Linux and of size 60 GB is set 分区的起始磁柱值和截止磁柱值计算方法: sectors值=容量/512 bytes,1GiB=1073741824 bytes First sector (2048-209715199, default 2048)是数据盘/dev/vdb(100 GiB)的磁柱范围 起始磁柱=2048 截止磁柱值=sectors值-1=(100 * 1073741824 / 512)-1=209715200-1=209715199 数据盘/dev/vdb的第1个分区/dev/vdb1(40 GiB): 起始磁柱值=2048(此处使用数据盘/dev/vdb的起始磁柱) 截止磁柱值=sectors值-1=(40 * 1073741824 / 512 )-1=83886079 数据盘/dev/vdb的第2个分区/dev/vdb2(60 GiB): 起始磁柱值 = /dev/vdb1的截止磁柱值 + 1 = 83886079+1 = 83886080 截止磁柱值 = 起始磁柱值 + sectors - 1 = 83886080+(60 * 1073741824 / 512 ) -1 = 209715199 查看新建分区大小、分区格式信息。 确定之前的分区操作是否正确。 p Command (m for help): p Disk /dev/vdb: 107.4 GB, 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 Disk label type: dos Disk identifier: 0x994727e5 Device Boot Start End Blocks Id System /dev/vdb1 2048 83886079 41942016 83 Linux /dev/vdb2 83886080 209715199 62914560 83 Linux Command (m for help): 如果之前分区操作有误,请输入“q”,按“Enter”,则会退出fdisk分区工具,之前的分区结果将不会被保留。此时,重新执行创建分区步骤1和步骤2即可。 确认完成后,将分区结果写入分区表中,并变更同步至操作系统。 w partprobe 如果出现报错“-bash: partprobe: command not found”,则说明系统不识别该命令,需要执行“yum install -y parted”命令来安装该命令。安装成功后再执行上述命令。 再次确认分区格式为MBR。 parted /dev/vdb p “Partition Table:msdos”表示磁盘分区格式为MBR [root@ecs-test-0001 ~]# parted /dev/vdb GNU Parted 3.1 Using /dev/vdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 107GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 42.9GB 42.9GB primary 2 42.9GB 107GB 64.4GB primary (parted) q [root@ecs-test-0001 ~]# 输入“q”,按“Enter”,退出parted模式。 分别对分区/dev/vdb1(40GiB)和/dev/vdb2(60GiB)创建ext4文件系统。 mkfs -t ext4 /dev/vdb1 mkfs -t ext4 /dev/vdb2 创建文件系统格式需要等待一段时间,请确保看到如下回显后,再退出。 [root@ecs-test-0001 ~]# mkfs -t 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 2621440 inodes, 10485504 blocks 524275 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2157969408 320 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, 7962624 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done 执行以下命令确认文件系统类型是否是ext4 parted /dev/vdb p [root@ecs-test-0001 ~]# parted /dev/vdb GNU Parted 3.1 Using /dev/vdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 107GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 42.9GB 42.9GB primary ext4 2 42.9GB 107GB 64.4GB primary ext4 (parted) q [root@ecs-test-0001 ~]# 输入“q”,按“Enter”,退出parted模式。 新建目录,并将新建分区挂载至新建目录。 mkdir -p /mnt/sdc mkdir -p /mnt/sdd mount /dev/vdb1 /mnt/sdc mount /dev/vdb2 /mnt/sdd lsblk 查看挂载结果 [root@ecs-test-0001 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk ├vda1 253:1 0 40G 0 part / vdb 253:16 0 100G 0 disk ├vdb1 253:17 0 40G 0 part /mnt/sdc ├vdb2 253:18 0 60G 0 part /mnt/sdd 表示新建分区“/dev/vdb1”和“/dev/vdb2”已分别挂载至“/mnt/sdc”、“/mnt/sdd”。 使用磁盘分区的UUID来设置开机自动挂载磁盘分区。 重启后,挂载会失效,因此需要设置开机自动挂载磁盘分区,即在/etc/fstab文件中添加新建磁盘分区信息,启动开机自动挂载磁盘分区。 不建议采用在“/etc/fstab”文件中直接指定设备名(比如/dev/vdb1)的方法,因为云中设备的顺序编码在关闭或者开启边缘实例过程中可能发生改变(例如:/dev/vdb1可能会变成/dev/vdb2),可能会导致边缘实例重启后不能正常运行。 UUID(universally unique identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。 该操作不会影响边缘实例中的现有数据。 查询磁盘分区的UUID。 blkid /dev/vdb1 blkid /dev/vdb2 [root@ecs-test-0001 ~]# blkid /dev/vdb1 /dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4" /dev/vdb2: UUID="0d6769k2-1745-9dsf-453d-hgd0b34267dj" TYPE="ext4" 磁盘分区“/dev/vdb1”和“/dev/vdb2”的UUID分别为0b3040e2-1367-4abb-841d-ddb0b92693df、0d6769k2-1745-9dsf-453d-hgd0b34267dj。 设置开机自动挂载磁盘分区 vi /etc/fstab 按“i”,进入编辑模式,将光标移至文件末尾,按“Enter”,添加下行内容: UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2 UUID=0d6769k2-1745-9dsf-453d-hgd0b34267dj /mnt/sdd ext4 defaults 0 2 按“ESC”后,输入“:wq”,按“Enter”,保存设置并退出编辑器。 表2 参数说明 参数示例 说明 UUID=0b3040e2-1367-4abb-841d-ddb0b92693df 磁盘分区的UUID /mnt/sdc 磁盘分区的挂载目录 ext4 磁盘分区的文件系统格式 defaults 磁盘分区的挂载选项,此处通常设置为defaults即可 0 Linux dump备份选项。 0表示不使用Linux dump备份。现在通常不使用dump备份,此处设置为0即可。 1表示使用Linux dump备份。 2 fsck选项,即开机时是否使用fsck检查磁盘。 2表示从挂载点为非根目录(/)的分区开始检验。 1表示从挂载点为根目录(/)的分区开始检验。 0表示不检验。 验证自动挂载功能已生效。 umount /dev/vdb1 umount /dev/vdb2 mount -a 则系统会将“/etc/fstab”文件所有内容重新加载。 查询文件系统挂载信息。 mount | grep /mnt/sdc mount | grep /mnt/sdd 回显类似如下信息,说明自动挂载功能生效。 root@ecs-test-0001 ~]# mount | grep /mnt/sdc /dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered) root@ecs-test-0001 ~]# mount | grep /mnt/sdd /dev/vdb2 on /mnt/sdd type ext4 (rw,relatime,data=ordered)
  • 操作场景 本文介绍使用脚本和手动方式初始化Linux系统中的数据盘,不同边缘实例的操作系统的初始化操作可能不同,请根据您的实际环境进行操作。 表1 初始化指导 操作指导 操作系统 分区格式 文件系统 初始化工具 配置示例 手动初始化数据盘 不限 GPT MBR ext*(如ext2、ext3、ext4)、xfs、btrfs fdisk parted 初始化工具:fdisk 设备名:/dev/vdb 文件系统:ext4 挂载目录:/mnt/sdc、/mnt/sdd 分区一:/dev/vdb1 容量:40GiB 分区格式:MBR 分区二:/dev/vdb2 容量:60GiB 分区格式:MBR 使用脚本初始化数据盘 CentOS MBR ext4 不涉及 设备名:/dev/vdb 分区名:/dev/vdb1 挂载目录:/data-test
  • 磁盘分区操作指导 使用脚本初始化数据盘: 使用脚本初始化Windows数据盘 使用脚本初始化Linux数据盘 磁盘容量小于2 TiB的场景: 初始化Windows数据盘(Windows 2008) 初始化Windows数据盘(Windows 2019) 初始化Linux数据盘(fdisk) 初始化Linux数据盘(parted) 磁盘容量大于2 TiB的场景: 初始化容量大于2TiB的Windows数据盘(Windows 2008) 初始化容量大于2TiB的Windows数据盘(Windows 2012) 初始化容量大于2TiB的Linux数据盘(parted)
  • 操作场景 磁盘挂载至云服务器后,需要登录云服务器初始化磁盘,即格式化磁盘,之后磁盘才可以正常使用。 系统盘 系统盘不需要初始化,创建云服务器时会自带系统盘并且自动初始化,默认磁盘分区形式为主启动记录分区(MBR, Master boot record)。 数据盘 创建云服务器时直接创建数据盘,数据盘会自动挂载至云服务器。 单独创建数据盘,然后将该数据盘挂载至云服务器。 以上两种情况创建的数据盘挂载至云服务器后,均需要初始化后才可以使用,请您根据业务的实际规划选择合适的分区方式。
  • 磁盘分区形式 常用的磁盘分区形式如表1所示,并且针对Linux操作系统,不同的磁盘分区形式需要选择不同的分区工具。 表1 磁盘分区形式 磁盘分区形式 支持最大磁盘容量 支持分区数量 Linux分区工具 主启动记录分区(MBR) 2 TiB 4个主分区 3个主分区和1个扩展分区 MBR分区包含主分区和扩展分区,其中扩展分区里面可以包含若干个逻辑分区。扩展分区不可以直接使用,需要划分成若干个逻辑分区才可以使用。以创建6个分区为例,以下两种分区情况供参考: 3个主分区,1个扩展分区,其中扩展分区中包含3个逻辑分区。 1个主分区,1个扩展分区,其中扩展分区中包含5个逻辑分区。 以下两种工具均可以使用: fdisk工具 parted工具 全局分区表 (GPT, Guid Partition Table) 18 EiB 1 EiB = 1048576 TiB 不限制分区数量 GPT格式下没有主分区、扩展分区以及逻辑分区之分。 parted工具 MBR支持的云硬盘最大容量为2 TiB,GPT最大支持的云硬盘容量为18 EiB,当前数据盘支持的最大容量为32 TiB,如果您需要使用大于2 TiB的云硬盘容量,分区形式请采用GPT。 当云硬盘已经投入使用后,此时切换云硬盘分区形式时,云硬盘上的原有数据将会清除,因此请在云硬盘初始化时谨慎选择云硬盘分区形式。切换GPT分区形式前,请对云硬盘数据备份后,再格式化硬盘。
  • 设置开机自动挂载磁盘 如果您需要在裸金属服务器系统启动时自动挂载磁盘,不能采用在 /etc/fstab直接指定 /dev/xvdb1的方法,因为云中设备的顺序编码在关闭或者开启裸金属服务器过程中可能发生改变,例如/dev/xvdb1可能会变成/dev/xvdb2。推荐使用UUID来配置自动挂载数据盘。 磁盘的UUID(universally unique identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。 执行如下命令,查询磁盘分区的UUID。 blkid 磁盘分区 以查询磁盘分区“/dev/xvdb1”的UUID为例: blkid /dev/xvdb1 回显类似如下信息: [root@ecs-b656 test]# blkid /dev/xvdb1/dev/xvdb1: UUID="1851e23f-1c57-40ab-86bb-5fc5fc606ffa" TYPE="ext4" 表示“/dev/xvdb1”的UUID。 执行以下命令,使用VI编辑器打开“fstab”文件。 vi /etc/fstab 按“i”,进入编辑模式。 将光标移至文件末尾,按“Enter”,添加如下内容。 UUID=1851e23f-1c57-40ab-86bb-5fc5fc606ffa /mnt/sdc ext4 defaults 0 2 按“ESC”后,输入“:wq”,按“Enter”。 保存设置并退出编辑器。