GaussDB-准备数据盘
前提条件
GaussDB支持使用SSD盘作为数据库的主存储设备,支持SAS/SATA和NVME协议的SSD盘(以下分别简称SSD盘和NVMe盘)。
安装实例由程序自动组盘,除系统盘外所有磁盘作为数据盘使用,并挂载在/var/chroot子目录下,在使用前请确保这些数据盘干净可用。
NOTICE:
- 安装实例时,管理系统会将节点上除系统盘以外的磁盘都作为数据盘。
- 请提前清理数据盘,并保持为裸磁盘(如回显中的sdb、nvme0n1),请勿提前组数据盘。
- 如果数据盘里有NVMe盘,则优先使用NVMe盘;如果该节点既有SSD盘又有NVMe盘,则只会使用NVMe盘。
请保持磁盘类型一致,避免混用。如下所示磁盘为磁盘混用情况。
~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 0:8 0 557.9G 0 disk
|_sda1 8:1 0 1G 0 part /boot
|_sda2 8:2 0 556.9G 0 part
|_klas-root 253:0 0 70G 0 lvm /
|_klas-swap 253:1 0 4G 0 1vm
|_klas-home 253:2 0 482.9G 0 1vm /home
sdb 8:16 0 3.6T 0 disk
nvme0n1 259:0 0 1.5T 0 disk
操作步骤
-
执行以下命令,检查某个数据盘是否干净可用,以数据盘sdb为例。
pvcreate --test /dev/sdb
-
若回显如下所示表示数据盘sdb干净可用,满足安装实例要求。
~# pvcreate --test /dev/sdb TEST MODE: Metadata will NOT be updated and volumes will not be (de)activated. Physical volume "/dev/sdb" successfully created.
- 否则,请执行后续步骤,手动清理数据盘。
-
-
确认数据盘下无重要数据后,手动清理数据盘。由于清理磁盘的场景多样,无法提供全部场景,故提供几种常见场景以供参考。
-
场景1:回显为“Can't initialize physical volume "/dev/sdb" of volume group "***" without /dev/sdb: physical volume not initialized.”。
-
执行pvcreate /dev/sdb命令,回显提示无法初始化物理设备。
-
执行lsblk命令,查看磁盘使用情况。
-
回显如下所示,数据盘无分区,无挂卷。
~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 0:8 0 557.9G 0 disk |_sda1 8:1 0 1G 0 part /boot |_sda2 8:2 0 556.9G 0 part |_klas-root 253:0 0 70G 0 lvm / |_klas-swap 253:1 0 4G 0 1vm |_klas-home 253:2 0 482.9G 0 1vm /home sdb 8:16 0 3.6T 0 disk执行pvcreate -ff -y /dev/sdb命令,强制创建物理卷。
-
回显如下所示,有残留文件或逻辑卷,以残留/dev/gaussdbvg/mydata1为例。
~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 0:8 0 557.9G 0 disk |_sda1 8:1 0 1G 0 part /boot |_sda2 8:2 0 556.9G 0 part |_klas-root 253:0 0 70G 0 lvm / |_klas-swap 253:1 0 4G 0 1vm |_klas-home 253:2 0 482.9G 0 1vm /home sdb 8:16 0 3.6T 0 disk |_gaussdbvg-mydata1 8:1 0 1G 0 lvm /var/chroot/var/lib/engine/data1-
执行umount -l / dev/gaussdbvg/mydata1命令解除挂载。
-
执行lvremove -f /dev/gaussdbvg/mydata1命令删除逻辑卷。
如果回显为”Logical volume **** contains filesystem in use.”,表示存在正在被进程使用的文件。以Ruby进程占用为例,执行pkill -u Ruby命令结束进程后重新执行清理命令即可。
-
执行vgremove -f /dev/gaussdbvg命令删除逻辑卷组。
-
-
-
-
场景2:回显为“Execute pvcreate /dev/sdb failed:ext4 signature detected on /dev/sdb at offset 1080.Wipe it? [y/n]”。
- 执行pvcreate /dev/sdb命令,回显提示是否擦除。
- 键入“y”擦除数据。
-
场景3:回显为“Can't open /dev/sdb exclusively. Mounted filesystem?”。
-
执行pvcreate /dev/sdb命令,回显提示数据盘上挂载了目录。
-
执行lsblk命令,查看磁盘使用情况,以挂载了/data目录为例。
~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 0:8 0 557.9G 0 disk |_sda1 8:1 0 1G 0 part /boot |_sda2 8:2 0 556.9G 0 part |_klas-root 253:0 0 70G 0 lvm / |_klas-swap 253:1 0 4G 0 1vm |_klas-home 253:2 0 482.9G 0 1vm /home sdb 8:16 0 3.6T 0 disk /data -
执行umount /data命令,将/data目录解除挂载。
-
-
场景4:回显为“Device /dev/sdb excluded by a fillter”。
-
执行pvcreate /dev/sdb命令,回显提示设备被过滤器筛除,无法找到分区表。
-
执行fdisk -l命令,查看数据盘的分区情况,以存在分区/dev/sdb1为例。
~# fdisk -l Disk /dev/sdb: 300 GiB, 322122547200 bytes, 629145600 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 Disklabel type: dos Disk identifier: 0xd0f1acb4 Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 629145599 629143552 300G 83 Linux -
执行parted /dev/sdb命令,进入磁盘分区管理。
-
执行mklabel msdos创建标签。
-
执行yes确认创建。
-
执行quit保存并退出修改。
-
-
-
再次执行以下命令,检查数据盘是否干净可用。
pvcreate --test /dev/sdb
更多详情请参考GaussDB 文档中心:doc.hcs.huawei.com/db/zh-cn/ga…