hpux lvm的应用.docx
《hpux lvm的应用.docx》由会员分享,可在线阅读,更多相关《hpux lvm的应用.docx(16页珍藏版)》请在冰豆网上搜索。
![hpux lvm的应用.docx](https://file1.bdocx.com/fileroot1/2023-5/17/784622f9-7fef-4783-940f-6cd4ea42525f/784622f9-7fef-4783-940f-6cd4ea42525f1.gif)
hpuxlvm的应用
hpuxlvm的应用
HP-UX管理硬碟存儲資源是採用邏輯卷方式來進行管理的,要說清整個機制,先要介紹幾個概念:
物理卷PhysicalVolume,稱為PV:
指物理上硬碟,一個硬碟就是一個PV
每个物理卷(PV)最大可以包含65,535个PE(缺省是1016;可以使用vgcreate-e设置).
邏輯卷組VolumeGroup,稱為VG:
一個VG包含整數個PV,可理解為一個大硬碟。
每个卷组(VG)最大可以有255个逻辑卷(LV)(缺省就是255;可以使用vgcreate–l设置).
每个卷组(VG)最大可以有255个物理卷(PV)(缺省是16;可以使用vgcreate-p设置).
邏輯卷LogicalVolume,稱為LV:
相當於對大硬碟進行邏輯分區,一個VG裡可有若干個LV。
檔案系統FileSystem:
在邏輯卷的基礎上,可建立檔案系統,然後MOUNT到一個目錄下,這樣就可以檔存取的方式來使用這塊硬碟了。
可以不建檔案系統,而直接把LV當作裸設備,以TRUNK方式來存取資料,許多資料庫都是用這種方式存取資料。
根據以上介紹,在HPUX下正確使用硬碟的順序及相應命令如下:
1.先建物理卷:
#pvcreate–f/dev/rdsk/cCdDtT
這裡必須使用硬碟的字元設備檔
#pvcreate–B/dev/rdsk/cxdytz表示初始化磁盤為引導磁盤
2.再建邏輯卷組:
#mkdir/dev/vg0XX:
0~f,邏輯卷組名
#mknod/dev/vg0X/groupc640xmn0000
創建名為group的設備文件
C指定group為字符設備文件
64group設備文件的主編號
0xmn0000是設備文件的十六進制次編號,每個mn必須在所有卷組中是唯一的
#vgcreatevg0X/dev/dsk/cCdDtT/dev/dsk/cxdytz…
還可以通過#vgextend/dev/vg0X/dev/dsk/cxdytz
來向vg0X中添加PV
3.然後劃分邏輯卷:
#lvcreate–Lsize–nlv_name/dev/vg0X
size:
該邏輯卷大小(單位:
M)
也可以使用:
#lvcreate–l4096–nlv_name/dev/vg0X
來創建LV,單位為邏輯盤區個數,默認的每個邏輯盤區大小為4M,
這裡表示該LV的大小為4096*4=16384M
注意:
若采用條帶化存儲方式則采用以下LV創建方式:
#lvcreate–i4–I64–L240–nlv_name/dev/vg0X
-i4小寫的i表示要在四個磁盤上進行條帶化
-I64大寫的i,表示條帶大小為64KB
4.在LV上建檔案系統:
#newfs–Ffile_system_type–olargefiles/dev/vg0X/lv_name
或是:
mkfs-Fhfs-olargefiles/dev/vg02/rlvol1
或者
newfs-Fhfs-olargefiles/dev/vg02/rlvol1
file_system_type:
檔案系統類型,包括hfs和vxfs,注意此時用該邏輯卷的字元設備檔。
若不指定-F參數,則應用/etc/default/fs中的默認值
–olargefiles表示支持大文件系統,也可以不用該參數
可以使用fstyp命令来查看文件系统是不是已经支持大文件系统:
命令格式为:
#fstyp/dev/vgXX/lvolX
#fstyp-v/dev/vgXX/lvolX
其中,-v参数可以查看大文件属性的设置情况,其中“f_flag\"”项的值是0或者16,如果是16的话,就说明是已经支持大文件系统了。
当一个文件系统已经有数据时,可以用fsadm命令更改largefiles属性,当需要首先将文件系统umount掉,然后进行,如果用户购买了并安装了onlineJFS,就不需要umount文件系统再执行fsadm命令了,可以在线使用fsadm更改大文件属性。
文件系统内有数据文件时:
fsadm-Fhfs-olargefiles/dev/vg02/rlvol1或是
Fsadm–Fvxfs–olargefiles/dev/vg02/rlvol1
当然,你也可以将大文件系统转换为小文件系统,不过要注意的是这个大文件系统中不能有大于2GB的文件,否则无法转换成功。
示例如下:
fsadm-Fhfs-onolargefiles/dev/vg02/rlvol1
5.將此檔案系統Mount到一個目錄下:
#mkdir/directory
#mount/dev/vg0X/lvolY/directory
6.添加邏輯卷
添加檔案系統卷。
例如:
在vg01上添加一個200M的檔案系統卷,卷名為data,mount到目錄/sample上。
A、創建邏輯卷,在系統提示符下鍵入命令:
#lvcreate–L200–ndata/dev/vg01
B、在邏輯卷data上創建檔案系統:
#newfs–Fhfs/dev/vg01/rdata
注:
如果是vxfs檔案系統,則用
#newfs–Fvxfs/dev/vg01/rdata
C、創建目錄/sample,並將邏輯卷datamount到/sample.
#mkdirsample”
#mount/dev/vg01/data/sample
D、用bdf命令,將會看到/dev/vg01/datamount到/sample上。
7.刪除邏輯卷
例如:
刪除vg01中名為data的邏輯卷,所mount的文件系統為/sample。
1)卸載所要刪除的邏輯卷:
A、首先用umount命令將邏輯卷data從/sample上卸載下來:
#umount/sample
B、若系統提示設備忙,不能卸載;則在根目錄系統提示符下,鍵入以下命令,進入單用戶:
#shutdown-y0
在單使用者下,先將所有邏輯卷mount上,鍵入命令:
#mount-a
用bdf命令看該邏輯卷是否已經mount上,如果mount上,鍵入以下命令:
#umount/sample
2)刪除邏輯卷/dev/vg01/data,用命令:
#lvremove/dev/vg01/data或是lvremove–f/dev/vg01/data---强制刪除
8.擴大檔案系統
1)擴大檔案系統,首先要找到這個檔案系統所對應的邏輯卷,只有首先擴大邏輯卷,給檔案系統以擴大的空間,才能擴大檔案系統。
2)為擴大邏輯卷,先進單使用者,在根目錄系統提示符下,鍵入命令:
#shutdown-y0
3)進入單用戶後,先將所有檔案系統mount上,鍵入命令:
#mount-a
4)用bdf命令看該檔案系統是否已經mount上,如果mount上,用命令#umount檔案系統名umount該檔案系統。
例如,想要擴大“/usr”到500M,就鍵入命令:
#umount/usr
5)用命令:
#lvextend-L500/dev/vg00/lvol4
這裡,假定/usr對應/dev/vg00/lvol4
6)用命令:
#extendfs/dev/vg00/lvol4擴大檔案系統。
注:
如果是vxfs檔案系統,則用
#extendfs-Fvxfs/dev/vg00/lvol4
7)用命令:
#mount/dev/vg00/lvol4/usr
將檔案系統mount到/usr
這樣,檔案系統“/usr”就被擴大了,
8)用命令:
#init3進入原來多用戶運\行級。
\r
注意:
若是在linux下則采用以下方式來擴充文件系統空間
#lvextend–L+2G/dev/vgexp/lv_exp增加2G大小的空間
#umount/exp
#e2fsck–f/dev/vgexp/lv_exp
#resize2fs/dev/vgexp/lv_exp
9.減小lv
#fuser–cu/dev/vgexp/lvoexp踢出正在使用該lv的用戶
#lvreduce–L500/dev/vgexp/lvoexp將lv減小到500M
10.添加LV鏡像
#lvextend–m1/dev/vgexp/lvoexp
#lvextend–m1/dev/vgexp/lvoexp/dev/dsk/cxdytz將鏡像强制保存到其他物理卷
11.刪除LV鏡像副本
#lvreduce–m0/dev/vgexp/lvoexp/dev/dsk/cxdytz
12.導出VG
1)#fuser–cu/dev/vgexp/lvoexp
2)#vgchange–anvgexp
3)#vgexport–p–s–m/tmp/vgexp.mapvgexp
-m產生一個map文件(若在vgexport時沒有產生map,則在vgimport時lv的名字就會變成默認的lvo1…)
-s向映射文件中添加VGID
13.導入VG
1)#mkdir/dev/vgexp
2)#mknod/dev/vgexp/groupc640xmn0000
3)#vgimport–s–m/tmp/vgexp.mapvgexp
-s不必在vgimport命令行中指定所有這些磁盤
4)#vgchange–ayvgexp
14.暫停卷組
#vgchange–Qmodevgexp
-Qmodemode可以是“rw”或是“w”
#vgchange–Qw–t600vgexp暫停600秒對vgexp的寫操作
#vgchange–Rvgexp恢復vgexp的寫操作
15.renamevg
1)#vgchange–anvgexp
2)#ls–l/dev/vgexp/group確定vg的group文件的次編號如:
0x010000卷組為1,并記下
3)#vgexport–p–s–m/tmp/vgexp.mapvgexp
4)#mkdir/dev/vgdive為卷組的新名稱創建卷組目錄及group文件
5)#mknod/dev/vgdive/groupc640x010000切記保持次編號一直
6)#vgimport–s–m/tmp/vgexp.map/dev/vgdive
7)#vgcfgbackup/dev/vgdive
8)#vgchange–ay/dev/vgdive
9)#rm/etc/lvmconf/vgexp.conf刪除舊的vg配置信息
10)修改fstab及來自于vgexport命令的現有映射文件
16.刪除卷組
備份所有用戶數據
#vgdisplay–v/dev/vgexp察看vg所包含的所有lv,并做好記錄
#fuser-cu/dev/vgexp/lvoexp確保這些lv沒有被用戶使用
#lvremove/dev/vgexp/lvoexp依次刪除每個lv
#vgreduce/dev/vgexp/dev/disk/c1t1d1保留一個pv,把其他物理卷都刪除(從卷組刪除磁盤)
#vgremove/dev/vgexp刪除卷組/dev/vgexp
若卷組不能立即刪除,則需要去激活卷組,繼續執行以下步驟:
#vgchange-an/dev/vgexp(如果不能夠去激活,則可以用如下命令強行去激活(一般發生在cluster裡面的把vg從共享卷組中拿掉),vgchange-cn/dev/vgexp)
預刪除卷組
#vgexport-p-s-m/tmp/vglock.map/dev/vglock
刪除卷組
#vgremove/dev/vglock
17.創建共享卷組
在一台已經創建卷組的機器上先去啟動
#vgchange-an/dev/vglock
預刪除卷組
#vgexport-p-s-m/tmp/vglock.map/dev/vglock
將map檔傳送到另外一台機器
#rcpscp1:
/tmp/vglock.mapscp2:
/tmp/vglock.map
在另外一台機器上導入卷組之前要先創建卷組名
#mkdir/dev/vglock
創建group節點文件
#mknod/dev/vglock/groupc640x010000(該節點一定要和第一台機器一致)
導入卷組
#vgimport-s-m/tmp/vglock.map/dev/vglock
18.拆分VG
實例:
vgdata包含:
/dev/dsk/dsk0~/dev/dsk/dsk5
Lvol1,lvol2和lvol3位於pv/dev/dsk/dsk0和/dev/dsk/dsk1上,lvol4,lvol5,lvol6位於其他PV;要將/dev/dsk/dsk0和/dev/dsk/dsk1保留在vgdata,而其他則拆分并組成vgdive
1)#vgchange–anvgdata
2)#vgexport–p–s–m/tmp/vgdata.mapvgdata
3)#Vgchgid–f/dev/rdsk/dsk2/dev/rdsk/dsk3/dev/rdsk/dsk4/dev/rdsk/dsk5
4)#mkdir/dev/vgdata
5)#mknod/dev/vgdata/groupc640xmn0000
6)#mkdir/dev/vgdive
7)#mknod/dev/vgdive/groupc640xab0000
8)#vgimport–s–m/dev/vgdata/dev/rdsk/dsk0/dev/rdsk/dsk1
9)#vgimport–s–m/dev/vgdive/dev/rdsk/dsk2/dev/rdsk/dsk3/dev/rdsk/dsk4/dev/rdsk/dsk5
10)#vgchange–ay–qn/dev/vgdata激活VG并對VG做Quorum檢查
11)#vgchange–ay/dev/vgdive
12)#lvremove–f/dev/vgdata/lvol4/dev/vgdata/lvol5/dev/vgdata/lvol6刪除重複LV
13)#lvremove–f/dev/vgdive/lvol1/dev/vgdive/lvol2/dev/vgdive/lvol3刪除重複LV
14)#vgreduce–fvgdata從卷組中刪除丟失的PV
15)#vgreduce–fvgdive從卷組中刪除丟失的PV
16)#vgchange–ay–qy/dev/vgdata對舊卷組啟用Quorum檢查
19.使用pvg对已存在的vg镜像
背景:
客户原有一台VA,有一个vg01,包括c4t0d1和c4t0d2
现在需要新加一台VA,建立c5t0d1和c5t0d2,需要将vg01上的LV镜像到新盘上。
方法:
为确保LV镜像跨VA,需要使用pvg
步骤:
1).vgextendvg01/dev/dsk/c5t0d1/dev/dsk/c5t0d2
2).vi/etc/lvmpvg
VG/dev/vg01
PVGpvg1
/dev/dsk/c4t0d1
/dev/dsk/c4t0d2
PVGpvg2
/dev/dsk/c5t0d1
/dev/dsk/c5t0d2
3).对每一个LV都执行:
lvchange-sg/dev/vg01/lvol1
4).lvextend-m1/dev/vg01/lvol1pvg2
20備份/恢復卷組配置
使用vgcfgbackup显示以前备份的LVM配置信息,或使用vgcfgrestore恢复这些信息。
缺省情况下,vgcfgbackup将卷组的配置保存到文件/etc/lvmconf/volume_group_name.conf
也可以选择在命令行中运行vgcfgbackup,将备份文件保存到指定的任何目录中。
如果要这
样做,请首先运行带-v选项的vgdisplay,确保卷组中的所有逻辑卷显示为available/syncd。
之后,再运行:
#vgcfgbackup-fpathname/filenamevolume_group_name
要运行vgcfgrestore,必须断开物理卷
如果物理卷上的所有数据都已镜像,镜像副本是最新的并且可用,则可以使用pvchange临时断开物理卷,执行vgcfgrestore并重新连接该物理卷。
例如,要恢复/dev/disk/disk5(卷组/dev/vgsales中的一个磁盘)的卷组配
置数据,请输入:
#pvchange-an/dev/disk/disk5
#vgcfgrestore-n/dev/vgsales/dev/rdisk/disk5
#pvchange-ay/dev/disk/disk5
如果物理卷未镜像,或者镜像副本不是最新并可用,必须使用vgchange停用卷组,执行vgcfgrestore,然后激活该卷组:
#vgchange-an/dev/vgexp
#vgcfgrestore-n/dev/vgexp/dev/rdisk/disk5
#vgchange-ay/dev/vgexp
21在系統內移動磁盤
有两种方式可将卷组中的磁盘移动到系统上的其他硬件位置。
选择的方式取决于应用于物理卷的是持久性设备文件还是旧设备文件
如果LVM配置使用持久性设备文件
1.确保已有卷组内数据和卷组配置的最新备份。
2.输入下面的命令停用卷组:
#vgchange-an/dev/vgnn
3.将磁盘物理地移动到所需的新位置。
4.激活卷组:
#vgchange-ay/dev/vgnn
如果LVM配置使用旧设备文件
到物理设备的硬件路径更改时,旧设备文件的名称也随之更改。
因此,必须使用新的Legacy设备文件更新LVM配置。
通过导出和导入卷组执行上述操作,以便使用新的旧设备文件。
更新过程如下:
1.确保已有卷组内数据和卷组配置的最新备份。
2.输入下面的命令停用卷组:
#vgchange-an/dev/vgnn
3.输入以下命令从/etc/lvmtab中删除卷组条目,从系统中删除相关联的设备文件:
#vgexport-v-s-m/tmp/vgnn.map/dev/vgnn
4.将磁盘物理地移动到所需的新位置。
5.要查看新位置,请输入:
#vgscan-v
6.将卷组条目重新添加回/etc/lvmtab,将相关联的设备文件添加回系统:
a.使用mkdir为卷组创建一个新目录。
b.使用mknod在上面所述的目录中创建一个group文件。
c.执行vgimport命令:
#vgimport-v-s-m/tmp/vgnn.map/dev/vgnn
7.激活新导入的卷组:
#vgchange-ay/dev/vgnn
8.备份卷组配置:
#vgcfgbackup/dev/vgnn
22.在系统之间移动磁盘
将卷组中的磁盘移动到其他系统中的其他硬件位置的过程大致为:
从一个系统导出卷组,将磁盘物理地移动到其他系统,然后将卷组导入到相应位置
假设要将卷组/dev/vg_planning中的三个磁盘移动到另一个系统。
请执行下列步骤:
1.使用户不能使用卷组及其相关联的逻辑卷。
如果其中任何逻辑卷包含文件系统,必须卸除该文件系统。
如果其中的任何逻辑卷被用作次交换,需要禁用交换,然后重新引导系统
#vgchange-an/dev/vg_planning
2.使用vgexport(1M)将卷组信息从/etc/lvmtab文件删除。
可以先预览带-p选项的vgexport的操作。
#vgexport-p-v-s-m/tmp/vg_planning.map/dev/vg_planning
利用-m选项,可以指定映射文件的名称,该映射文件将保留从/etc/lvmtab文件删除的信息。
此文件非常重要,因为它将包含卷组中所有逻辑卷的名称。
设置新系统上的卷组时,将使用此映射文件。
如果预览结果令人满意,就运行不带-p的命令
#vgexport-v-s-m/tmp/vg_planning.map/dev/vg_planning
vgexport命令将从系统中删除卷组并创建/tmp/vg_planning.map文件。
3.将磁盘连接到新的系统并将文件/tmp/vg_planning.map复制到新的系统。
4.在新系统上,创建新的卷组目录和group文件:
#mkdir/dev/vg_planning
创建group文件时,指定反映卷组号的次编号(卷组编号从00开始,例如,第五个卷组的卷组号是04)。
#mknod/dev/vg_planning/groupc640x040000
5.运行ioscan命令获取有关磁盘的设备文件信息:
#ioscan-funN-Cdisk
6.执行vgimport命令。
要进行预览,请使用-p选项。
#vgimport-p-N-v-s-m/tmp/vg_planning.map/dev/vg_planning
要实际导入卷组,请再次执行不带-p选项的该命令。
7.激活新导入的卷组:
#vgchange-ay/dev/vg_planning
23.将数据移动到另一个物理卷
可以使用pvmove命令将逻辑卷中包含的数据从一个磁盘移动到另一个磁盘,或者在卷组内的磁盘之间移动数据
例如,只想将某个逻辑卷的数据从一个磁盘移动到另一个磁盘,以便将第一个磁盘上腾出的空间用于其他目的。
要将逻辑卷/dev/vg01/markets中的数据从磁盘/dev/disk/disk4移动到磁盘/dev/disk/disk7,请输入:
#pvmove-n/dev/vg01/markets/dev/disk/disk4/dev/disk/disk7
另一方面,要将一个磁盘上包含的所有数据移动到同一个卷组内的另一个磁盘,无论这些数据与哪个逻辑卷相关联。
例如,可能会因为要从卷组中删除磁盘而需要这样做。
可以使用pvmove将数据移动到选择的其他特定磁盘,或者让LVM按照特定的镜像分配策略将数据移动到卷组内合适的可用