添加新的磁盘

发表于:2007-05-26来源:作者:点击数: 标签:
添加新的磁盘 在HPUX下正确使用硬盘的顺序及相应命令如下: 1.先建物理卷 #pvcreate-f/dev/rdsk/cCdDtT 这里必须使用硬盘的字符设备文件 2.再建逻辑卷组 #mkdir/dev/vg0X X:0~f,逻辑卷组名 #mknod/dev/vg0X/groupc640x0X0000 #vgcreatevg0X/dev/dsk/cCdDt
添加新的磁盘

在HPUX 下正确使用硬盘的顺序及相应命令如下:
1. 先建物理卷
# pvcreate -f /dev/rdsk/cCdDtT
这里必须使用硬盘的字符设备文件
2. 再建逻辑卷组
# mkdir /dev/vg0X
X:0~f,逻辑卷组名
# mknod /dev/vg0X/group c 64 0x0X0000
# vgcreate vg0X /dev/dsk/cCdDtT
# vgcreate –s 8 vg0X /dev/dsk/cCdDtT(对于大于256G的硬盘)
# vgcreate –s 8 vg0X /dev/dsk/cCdDtT /dev/dsk/c
3. 然后划分逻辑卷
# lvcreate -L size –n /dev/vg0X/lvolY vg0X
size:该逻辑卷大小
4. 在LV 上建文件系统
# newfs -F file_system_type /dev/vg0X/rlvolY
file_system_type:文件系统类型,包括hfs 和vxfs,注意此时用该逻辑卷的字
符设备文件。
5. 将此文件系统Mount 到一个目录下
# mkdir /directory
# mount /dev/vg0X/lvolY /directory 

    
第一步OK,第二步MKDIR,MKNOD都OK了,到VGCREATE出错了,错误提示翻成中文后如下:

在 VGDA (volume group discriptor area) 上使用 vgcreate 命令设置较大 max_pe 值的结果是什么XX? 因为较小的或者默认的max_pe 值通常会限制将来向 Volume Group 添加较大的磁盘,因此最好将max_pe 设置为一个较大的数字?VGDA 成数量级的增长。将 max_pe 设置为一个较大值的结果是怎样的?


原来这个参数是用来设置PE大小的,乘上MaxPEperPV就是一个PV最大的值,默认的4M,乘上最大的PE数65535(65535*4=262140M也就是256G),因创建时没有改,而硬盘大小是一个500G的硬盘.

在LVM里,一个PV(Physical Volume,物理卷)对应且只对应一个物理硬盘,一个或者多个PV组成一个VG(Volume Group,卷组),而从一个VG里又可以虚拟划分出若干个LV(Logical Volume,逻辑卷),真正的文件系统是创建在LV上面的,可以在LV上建文件系统,也可以不建文件系统而直接使用,这时叫裸设备(raw device)。因为是直接对设备进行数据读写,所以Raw device的性能要比文件系统好,许多数据库系统就是直接存储在裸设备上,但是可管理性比较差,题外话。
LVM系统怎么知道往某一个LV里面存数据时,到底是存放到哪个(些)实际硬盘呢?在LVM系统里,一个PV由若干个PE(Physical Extent)组成,一个LV由若干个LE(Logical Extent)组成,而这些PE和LE之间又有直接的对应关系,这种对应关系被存储在一个叫做“PE/LE对应表”(Translation Table)的表中。Translation Table存放在LVM磁盘上,当VG被激活时才装载到内存中。PE是在创建卷组时创建的,大小由vgcreate的-s参数指定,默认是4M;在同一个VG里面的所有PV的PE大小是一样的,不管实际硬盘的大小和型号是否相同。当LV创建时,LVM系统创建LE并自动维护PE/LE对应表,使得每一个LV里面的LE都可以找到与之对应的PE,从而知道数据该往哪个硬盘写。一般情况下创建LV的时候,系统都是按物理硬盘加入VG的顺序来分配其可用的PV。比如说c0t5d0是第一个加入VG的硬盘,那么默认情况下c0t5d0里的可用PV将最先被用来分配,除非在使用lvextend命令时特殊指定。
在使用vgcreate的-s参数时,PE的大小必须是2的整数倍,一般使用默认值4,这表示卷组上创建的所有逻辑卷都以4MB的增量单位来进行扩充或缩减。由于内核原因,PE大小决定了逻辑卷的最大大小, 4MB的PE决定了单个逻辑卷最大容量为256GB,若希望使用大于256GB的逻辑卷则创建卷组时指定更大的PE。PE大小范围为8KB到512MB。为什么是4而不是8、16...?还有几个LVM的限定,要说明 
·一个LV只能属于一个VG(不要去想lvol9先从vg00弄点空间,再从vg01弄点空间) 
·一个PV要么独立要么属于且仅属于一个VG(独立时作为Raw Device,性能比较猛) 
·vgcrete -l参数将限定一个VG里面能创建的最大LV数量,极限是255 
·vgcreate -p参数限定一个VG里面能容纳的最多PV数,极限是255 
·内核参数maxvgs限定系统最大的VG数,默认是10,最大可以变态到256


下面到了划分逻辑卷的步骤了:
A、这一步做得很顺利,但是还是有不明白的地方,当时由于时间的关系也没有深究,现在想好好的了解一下了。命令是:# lvcreate -L size –n data /dev/vg0X/lvolY vg0X  size指该逻辑卷大小,-n后面应该是卷名(data)。
B、下面是建文件系统:
" newfs -F hfs /dev/vg01/rdata"
注:如果是vxfs文件系统,则用" newfs -F vxfs /dev/vg01/rdata" 
C、mount到目录 /sample 上
    创建目录/sample,并将逻辑卷data mount 到/sample.
" mkdir sample"
" mount /dev/vg01/data /sample"
用bdf命令,将会看到/dev/vg01/data mount 到 /sample上。
删除逻辑卷 /dev/vg01/data ,用命令:" lvremove /dev/vg01/data"

附相关命令:
max_pe  设置为它的最大值 65535。
max_pv  设置为它的最大值 255。

# pvdisplay -v /dev/dsk/c*t*d*
显示磁盘各种信息,如磁盘大小,包含的逻辑卷,设备名称等. 
# vgdisplay -v /dev/vg00 
显示逻辑卷组信息,如包含哪些物理盘及逻辑卷等. 
# lvdisplay -v /dev/vg00/lvol1 
显示逻辑卷各种信息,如包含哪些盘,是否有镜像等.

原文转自:http://www.ltesting.net