一、HP-UX的文件系统:

HP-UX主要使用HFS和VXFS两种文件系统,而这两种文件系统的主要特性和区别如下:

1.1 HFS

HFS是一种分层文件系统,早期由苹果开发,用于mac系统(mac基于unix),后来引入到其他unix系统。主要特性如下:

分层文件系统把一个卷分为许多512字节的“逻辑块”。这些逻辑块被编组为“分配块”,这些分配块可以根据卷的尺寸包含一个或多个逻辑块。HFS对地址分配块使用16位数值,分配块的最高限制数量是65536。

组成一个HFS卷需要下面的五个结构:

  • 卷的逻辑块0和1是启动块,它包含了系统启动信息。例如,启动时载入的系统名称和壳(通常是Finder)文件。
  • 逻辑块2包含主目录块Master Directory Block,简称MDB)。
  • 逻辑块3是卷位图Volume Bitmap)的启动块,它追踪分配块使用状态。
  • 总目录文件Catalog File)是一个包含所有文件的记录和储存在卷中目录的B*-tree。
  • 扩展溢出文件Extent Overflow File)是当最初总目录文件中三个扩展占用后,另外一个包含额外扩展记录的分配块对应信息的B*-tree。

1.2 VXFS

VeritasFileSystem(VxFS)是首个商业日志记录文件系统。通过日志记录功能,元数据更改首先写入到日志,然后再写入到磁盘。由于无需在多处写入更改,且元数据是异步写入的,因此吞吐量的速度较快。VxFS也是基于扩展区的意向日志记录文件系统。VxFS设计用于要求高性能和高可用性,并且可以处理大量数据的操作环境。

1.3 HP-UX默认文件系统:

配置文件 /etc/default/fs定义了hp-ux的默认文件系统:

# cat /etc/default/fs  
LOCAL=vxfs

二、发现新磁盘:

查看添加磁盘前磁盘的情况:

# ioscan -fNnkC disk

# ioscan -m lun

添加新磁盘后,需使用如下命令扫描io设备变化情况:

# ioscan

查看扫描到的新磁盘:

# ioscan -fNnkC disk

# ioscan -m lun

看到的磁盘如果如下,恭喜你,可以进入lvm的创建环节。

disk     41  64000/0xfa00/0x13   esdisk  CLAIMED     DEVICE       online  3PARdataVV

0/0/0/5/0/0/0.0x23110002ac000e5a.0x4003000000000000  
**/dev/disk/disk41  /dev/rdisk/disk41**

如果新磁盘有上述红色的部分,表示磁盘已经可以正常使用。如果没有,而是如下这样:

disk     41  64000/0xfa00/0x13   esdisk  CLAIMED     DEVICE       online  3PARdataVV  
0/0/0/5/0/0/0.0x23110002ac000e5a.0x4003000000000000

则需使用insf命令进行安装磁盘:

# insf –e

查看新磁盘详细信息:

# diskinfo /dev/rdisk/disk41  
SCSI describe of /dev/rdisk/disk41:  
vendor: 3PARdata  
product id: VV  
type: direct access  
size: 104857600 Kbytes  
bytes per sector: 512

三、LVM的创建:

3.1 创建PV(物理卷)和LVM的基本概念:

要使用 LVM,磁盘必须首先初始化为物理卷 (也称为 LVM 磁盘)。初始化一个或多个物理卷之后,将它们分为一个或多个卷组。如果将所有物理卷视为一个存储池,那么,该存储池的一部分磁盘可以组织成一个卷组。一个特定磁盘只能属于一个卷组。

LVM的基本结构如下:

物理盘区(PE)和逻辑盘区(LE):

LVM 将每个物理磁盘分为叫做物理盘区的可寻址单元。盘区从地址为零的磁盘头开始、每个单元的地址依次递增一,按顺序分配给磁盘。在形成卷组时,物理盘区大小是可配置的,并且这个大小应用于卷组中的所有磁盘。HP-UX默认情况下,每个盘区的大小为 4 MB。在创建卷组时,此值可以更改为 1 MB 到 256 MB 之间的值。

逻辑卷的基本分配单元称为逻辑盘区。逻辑盘区映射到物理盘区,因此如果物理盘区大小为 4 MB,那么逻辑盘区将具有同样的大小。逻辑卷的大小取决于所配置的逻辑盘区数。

物理盘区和逻辑盘区关系如下:

创建PV:

pvcreate /dev/**r**disk/disk41

3.2 创建VG(卷组)

不同版本的VG创建方式不太一样,我这里仅以2.2为例:

基本语法:

vgcreate -V 2.2 -s pe_size -S vg_size [-A autobackup]  
[-x extensibility] [-g pvg\_name] [-U unshare_unit] vg_name  
pv_path …

示例:

# vgcreate -V 2.2 -s 64 -S 100G vgbackup **/dev/disk**/disk41

3.3 创建LV(逻辑卷)

基本语法:

lvcreate [-A autobackup] [-c mirror_consistency]  
[-C contiguous] [-d schedule] [-D distributed]  
[-i stripes [-I stripe_size]] [-l le_number | -L lv_size]  
[-m mirror_copies] [-M mirror_write_cache] [-n lv_name]  
[-p permission] [-r relocate] [-s strict] vg_name

语法选项很多,这里一般只需关注几项即可:

-L :指定LV大小,默认以K为单位,可以指定以M或G为单位;如果不指定,LV将为空,可使用lvextend扩展。

-n :指定LV名称,如果不指定,则自动生成;

vg_name :指定VG名称,必须指定。

示例:

# lvcreate -L 100G -n lvbackup vgbackup

查看LV:

# lvdisplay /dev/vgbackup/lvbackup  
— Logical volumes —  
LV Name                     /dev/vgbackup/lvbackup  
VG Name                     /dev/vgbackup  
LV Permission               read/write  
LV Status                   available/syncd  
Mirror copies               0  
Consistency Recovery        MWC  
Schedule                    parallel  
LV Size (Mbytes)            96000  
Current LE                  375  
Allocated PE                375  
Stripes                     0  
Stripe Size (Kbytes)        0  
Bad block                   NONE  
Allocation                  strict  
IO Timeout (Seconds)        default

3.4 创建文件系统:

使用 newfs 命令创建一个文件系统。注意字符设备文件的使用。例如:

# newfs  -F  vxfs /dev/vgbackup/rlvbackup

如果不使用 -F FStype 选项,默认情况下,newfs 将创建基于 /etc/fstab文件内容的文件系统。如果 /etc/fstab 中没有文件系统的条目,那么文件系统类型由文件 /etc/default/fs 来决定。

3.5 实现开机自动挂载文件系统:

# echo “/dev/vgbackup/lvbackup /dp_backup vxfs delaylog 0 2”>>/etc/fstab

挂载系统:

# mount -a

四、LVM的扩展:

LVM的扩展分两种情况,一种是VG还有剩余空间,另外一种是VG已经没有剩余空间,我们分别来说。

查看VG使用情况:

# vgdisplay /dev/vgbackup  
— Volume groups —  
VG Name                     /dev/vgbackup  
VG Write Access             read/write  
VG Status                   available  
Max LV                      511  
Cur LV                      1  
Open LV                     1  
Max PV                      511  
Cur PV                      1  
Act PV                      1  
Max PE per PV               400  
VGDA                        2  
PE Size (Mbytes)            256  
Total PE                    399  
Alloc PE                    375  
**Free PE                     24**  
Total PVG                   0  
Total Spare PVs             0  
Total Spare PVs in use      0  
VG Version                  2.0  
VG Max Size                 100g  
VG Max Extents              400

如果Free PE不为0,则表示vg还有剩余空间,剩余空间的大小为:剩余数*创建VG时使用-s指定的PE大小,如我这里剩余24个PE,则剩余VG容量为:24*64=1536M

4.1 扩展VG:

4.1.1 创建PV

扩展VG只能添加新磁盘,然后将新磁盘创建为pv后进行扩展,创建命令为:

pvcreate /dev/**r**disk/disk#

注:上述#表示新磁盘的序号

4.1.2 扩展VG:

基本语法:

vgextend [-f] [-A autobackup] [-g pvg_name]  
[-x extensibility] [-z sparepv] vg_name pv_path …

示例:

# vgextend  /dev/vgbackup /dev/disk/disk46

4.2 扩展LV:

扩展完VG后,就可以对LV进行扩展了。

基本语法:

lvextend [-A autobackup]  
{-l le_number | -L lv_size | -m mirror_copies [-s]} lv_path  
[pv_path … | pvg_name …]

需要注意的是,HP-UX扩展LV不向linux那样,可以**-l +50G**这样的方式指定增大多少空间,而是只能指定增大目标容量或者LE(逻辑单元)。

示例:

# lvextend -L 150000M /dev/vgbackup/lvbackup   ##增加容量到150G

# lvextend –l    2400 /dev/vgbackup/lvbackup     ##增加le到2400个,每个大小64M,因此同样是150G

4.3 扩展文件系统:

之有将扩展后的lv应用到文件系统,才能实际被文件系统使用,这就需要扩展文件系统。而扩展文件系统必须先卸载文件系统;卸载文件系统先要停止对文件系统的访问,然后使用umount卸载。

卸载文件系统:

# umount /dev/vgbackup/lvbackup

扩展文件系统:

# extendfs /dev/vgbackup/lvbackup

重新挂载文件系统:

# mount -a