这就是我需要的,
1. Add new disk
2. Create New pv, vg and lv as per below plan
Plan
/dev/mapper/PJR_sapvg1-USR_SAP_PJR /usr/sap/PJR/sapmnt/GJR 20Gb
/dev/mapper/PJR_sapvg1-SAPMNT_PJR /sapmnt/PJR/db2/db2gjr 20Gb
这是我所做的:
pvcreate /dev/sdc
vgcreate vg_GJR /dev/sdc
lvcreate -L 1G -n lv_usr_ORACLE_GJR vg_GJR
lvcreate -L 1G -n lv_ORACLEmnt_GJR vg_GJR
mkfs -t ext4 /dev/vg_GJR/lv_usr_sap_GJR
mkfs -t ext4 /dev/vg_GJR/lv_sapmnt_GJR
mkdir /usr/sap/GJR /sapmnt/GJR
mount /dev/vg_GJR/lv_sapmnt_GJR /usr/sap/GJR
mount /dev/vg_GJR/lv_sapmnt_GJR /sapmnt/GJR
此时,我可以在 df -h 输出中看到分区。我可以在 /usr/sap/GJR 和 /sapmnt/GJR 中创建文件。我在 fstab 中添加了条目。
现在,只是为了检查,我这样做了:
fdisk /dev/sdc
并创建了如下所示的新分区:
Disk /dev/sdc: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xdbc7821a
Device Boot Start End Blocks Id System
/dev/sdd1 1 14 112423+ 83 Linux
我重新启动了服务器,但是现在当我执行 mount -a 时,出现以下错误:
[root@localhost ~]# mount -a
mount: special device /dev/vg_GJR/lv_usr_ORACLE_GJR does not exist
mount: special device /dev/vg_GJR/lv_ORACLEmnt_GJR does not exist
我想知道为什么会发生这种情况以及如何恢复。这只是没有数据的测试环境。我应该怎么做才能恢复它。
答案1
fdisk、gdisk、pvcreate 等通常在磁盘的开头放置一个分区标签,以便可以创建和使用不同的分区。
正在做
“pvcreate /dev/sdc”通常会初始化您的 /dev/sdc 以用于 LVM,因此您可以从中创建一个卷组。
跑步
“fdisk /dev/sdc”应该给你一个警告设备正在 LVM 下使用,但实际上并没有。可能是因为默认情况下,LVM 标签位于第二个512字节扇区。
因此,总而言之,如果您已将整个磁盘用于 LVM,则切勿使用 fdisk 或 gdisk 触碰该磁盘。但是,如果您先使用 fdisk 对磁盘进行分区,然后在其中一个分区上执行 pvcreate,您仍然可以使用 fdisk 使用该磁盘,而无需触碰 lvm 分区。例如;
# fdisk /dev/sdc # 创建 2 个分区 /dev/sdc1 和 /dev/sdc2 # pvcreate /dev/sdc1 # vgcreate vg_GJR /dev/sdc1 # lvcreate-L 1G-n lv_usr_ORACLE_GJR vg_GJR # lvcreate-L 1G-n lv_ORACLEmnt_GJR vg_GJR #mkfs-t ext4/dev/vg_GJR/lv_usr_sap_GJR #mkfs-t ext4/dev/vg_GJR/lv_sapmnt_GJR #mkdir /usr/sap/GJR/sapmnt/GJR # 挂载 /dev/vg_GJR/lv_sapmnt_GJR /usr/sap/GJR # 挂载 /dev/vg_GJR/lv_sapmnt_GJR/sapmnt/GJR
现在您可以执行 fdisk /dev/sdc,但不要尝试删除第一个分区。