Initializing a Linux Data Disk (Less Than or Equal to 2 TiB)
Scenarios
This section describes how to initialize a Linux data disk manually or using a script. The operations may vary depending on the server OS. Perform initialization operations based on your server OS.
Prerequisites
You have attached the disk to a server.
Notes and Constraints
- A disk created from a data source does not need to be initialized. Such a disk contains the source data in the beginning. Initializing the disk may clear the initial data on it. If you need to re-initialize the disk, you are advised to back up the disk data first. To back up data using CBR, see Backing Up EVS Disks. To back up data using snapshots, see Managing EVS Snapshots.
- Initializing a disk does not delete the snapshots created for the disk, so you can still use snapshots to roll back data to the source disk after the disk is initialized.
Initializing a Data Disk
MBR supports a maximum of four primary partitions or a maximum of three primary partitions plus one extended partition. Multiple logical partitions can be created in the extended partition.
For example, if you want to create four partitions, you have the following options:
- Create four primary partitions.
- Create one primary partition and one extended partition (three logical partitions).
- Create two primary partitions and one extended partition (two logical partitions).
- Create three primary partitions and one extended partition (one logical partition).
The following example shows you how to use fdisk to create two primary MBR partitions (/dev/vdb1: 40 GiB; /dev/vdb2: 60 GiB) on the /dev/vdb data disk.
- Log in to the server.
For how to log in to an ECS, see the Elastic Cloud Server User Guide.
- Create two primary partitions, /dev/vdb1 and /dev/vdb2 for data disk /dev/vdb.
- Check that the capacity of the /dev/vdb data disk is 100 GiB.
lsblk
[root@ecs-centos76 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTvda 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 diskNoteIn the command output, disk /dev/vda is partitioned, but disk /dev/vdb is not.
- Create the first primary partition /dev/vdb1.
fdisk /dev/vdb
n
p
1
Note- Entering p for Partition type creates a primary partition, and entering e creates an extended partition.
- Value 1 is the primary partition number.
[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.Device does not contain a recognized partition tableBuilding a new DOS disklabel with disk identifier 0x38717fc1.Command (m for help): nPartition type:p primary (0 primary, 0 extended, 4 free)e extendedSelect (default p): pPartition number (1-4, default 1): 1 - Set First sector to 2048 and Last sector to 83886079 for partition /dev/vdb1 (40 GiB).Note
First and last sectors of the partitions in this example are calculated as follows:
Value of sectors = Capacity/512 bytes, 1 GiB = 1073741824 bytes
- First sector (2048-209715199, default 2048) shows the sector value range of the /dev/vdb data disk (100 GiB).
First sector = 2048
Last sector = Value of sectors – 1 = (100 x 1073741824/512) – 1 = 209715200 – 1=209715199
- For the first partition /dev/vdb1 (40 GiB) of the /dev/vdb data disk:
First sector = 2048 (The first sector of the /dev/vdb data disk is used.)
Last sector = Value of sectors – 1 = (40 x 1073741824/512) – 1 = 83886079
- For the second partition /dev/vdb2 (60 GiB) of the /dev/vdb data disk:
First sector = Last sector of /dev/vdb1 + 1 = 83886079 + 1 = 83886080
Last sector = First sector + Value of sectors – 1 = 83886080 + (60 x 1073741824/512) – 1 = 209715199
First sector (2048-209715199, default 2048): 2048Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):83886079Partition 1 of type Linux and of size 40 GB is set - First sector (2048-209715199, default 2048) shows the sector value range of the /dev/vdb data disk (100 GiB).
- Create the second primary partition /dev/vdb2.
n
p
2
Command (m for help): nPartition type:p primary (0 primary, 0 extended, 4 free)e extendedSelect (default p): pPartition number (1-4, default 2): 2 - Set the First sector to 83886080 and Last sector to 209715199 for partition /dev/vdb2.First sector (83886080-209715199, default 83886080): 83886080Last sector, +sectors or +size{K,M,G} (83886080-209715199, default 209715199):209715199Partition 2 of type Linux and of size 60 GB is set
- Check that the capacity of the /dev/vdb data disk is 100 GiB.
- Check the sizes and partition styles of the new partitions.
- Check whether the partitioning is successful.
p
Command (m for help): pDisk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 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: 0x994727e5Device Boot Start End Blocks Id System/dev/vdb1 2048 83886079 41942016 83 Linux/dev/vdb2 83886080 209715199 62914560 83 LinuxCommand (m for help):NoteIn case that you want to discard the changes made before, you can exit fdisk by entering q and press Enter. Then, re-create the partitions by referring to step 1.
- Write the changes to the partition table and synchronize the new partition table to the OS.
w
partprobe
NoteIf error message -bash: partprobe: command not found is returned, the system cannot identify the command. In this case, run yum install -y parted to install the command. Then run the command again.
- Confirm that the partition style is MBR.
parted /dev/vdb
p
NoteIf Partition Table: msdos is returned, the partition style is MBR.
[root@ecs-test-0001 ~]# parted /dev/vdbGNU Parted 3.1Using /dev/vdbWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) pModel: Virtio Block Device (virtblk)Disk /dev/vdb: 107GBSector size (logical/physical): 512B/512BPartition Table: msdosDisk Flags:Number Start End Size Type File system Flags1 1049kB 42.9GB 42.9GB primary2 42.9GB 107GB 64.4GB primary(parted) q[root@ecs-test-0001 ~]# - Enter q and press Enter to exit parted.
- Check whether the partitioning is successful.
- Create ext4 file systems for partitions /dev/vdb1 (40 GiB) and /dev/vdb2 (60 GiB).
mkfs -t ext4 /dev/vdb1
mkfs -t ext4 /dev/vdb2
NoteIt takes some time to create file systems. Do not exit before the system returns the following information:
[root@ecs-test-0001 ~]# mkfs -t ext4 /dev/vdb1mke2fs 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, 10485504 blocks524275 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: doneCheck whether the file system format is ext4.
parted /dev/vdb
p
[root@ecs-test-0001 ~]# parted /dev/vdbGNU Parted 3.1Using /dev/vdbWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) pModel: Virtio Block Device (virtblk)Disk /dev/vdb: 107GBSector size (logical/physical): 512B/512BPartition Table: msdosDisk Flags:Number Start End Size Type File system Flags1 1049kB 42.9GB 42.9GB primary ext42 42.9GB 107GB 64.4GB primary ext4(parted) q[root@ecs-test-0001 ~]#Enter q and press Enter to exit parted.
- Create directories (mount points) and mount the new partitions on the created mount points.
mkdir -p /mnt/sdc
mkdir -p /mnt/sdd
mount /dev/vdb1 /mnt/sdc
mount /dev/vdb2 /mnt/sdd
lsblk
View the mount results.
[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 100G 0 disk├vdb1 253:17 0 40G 0 part /mnt/sdc├vdb2 253:18 0 60G 0 part /mnt/sddYou should now see that partitions /dev/vdb1 and /dev/vdb2 are mounted on /mnt/sdc and /mnt/sdd.
- Use the partition UUIDs to configure auto mount at startup.Note
- Mounts become invalid after a system reboot. You can configure auto mount at startup by adding information of the new partition into the /etc/fstab file.
- You are advised not to use device names to identify disks in the /etc/fstab file because device names are assigned dynamically and may change (for example, from /dev/vdb1 to /dev/vdb2) after a stop or start. This can even prevent your server from booting up.
- UUIDs are the unique character strings for identifying partitions in Linux.
- This operation will not affect the existing data on the ECS.
- Query the partition UUIDs.
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"The UUIDs of partitions /dev/vdb1 and /dev/vdb2 are 0b3040e2-1367-4abb-841d-ddb0b92693df and 0d6769k2-1745-9dsf-453d-hgd0b34267dj.
- Configure auto mount at startup.
vi /etc/fstab
Press i to enter the editing mode, move the cursor to the end of the file, press Enter, and add the following content:
UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2UUID=0d6769k2-1745-9dsf-453d-hgd0b34267dj /mnt/sdd ext4 defaults 0 2Press Esc, enter :wq, and press Enter to save the settings and exit the vi editor.
Table 1 Parameter description Example Value
Description
UUID=0b3040e2-1367-4abb-841d-ddb0b92693df
The UUID of the partition.
/mnt/sdc
The mount point of the partition.
ext4
The file system format of the partition.
defaults
The partition mount option. Normally, this parameter is set to defaults.
0
- The Linux dump backup option.
- 0: Linux dump backup is not used. Usually, dump backup is not used, and you can set this parameter to 0.
- 1: Linux dump backup is used.
2
- The fsck option, which means whether to use fsck to check the disk during startup.
- 2: The check starts from the partitions whose mount points are non-root directories. / is the root directory.
- 1: The check starts from the partitions whose mount points are root directories.
- 0: The fsck option is not used.
- The Linux dump backup option.
- Verify that auto mount takes effect.
umount /dev/vdb1
umount /dev/vdb2
mount -a
The system reloads all the content in the /etc/fstab file.
Query file system mounting information.
mount | grep /mnt/sdc
mount | grep /mnt/sdd
If information similar to the following is displayed, auto mount has taken effect:
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)
- Scenarios
- Prerequisites
- Notes and Constraints
- Initializing a Data Disk