北亚的小兔兔
作者北亚的小兔兔·2018-06-14 14:30
其它·北亚企安科技有限公司

详解IBM AIX存储层结构+操作命令整理

字数 2195阅读 1837评论 0赞 1

一、AIX 的存储层

在AIX中,可以直接IO的最底层设备是PV,也就是物理卷,通常在单硬盘环境可以理解为物理磁盘,在挂载的硬件RAID设备上,PV就是RAID卷组(有时候称为逻辑卷,虚拟卷)。

PV通常不用来直接存储数据,仅做为VG的成员使用。因PV的大小是随机的,存储时为了效率上的考虑,VG需要有特定的分配颗粒大小,这就又引入了2个存储概念:PP和LP。

PP(Physical Partition)在创建VG时指定,指VG的存储组成的最小单位。如PP的大小是16M,意味着整个VG都是由若干个PP组成(似乎就像PC上的单硬盘和扇区的概念),每个PP一定是来源于指定的某个PV。所以,在PV加入VG时,从PV最前面的一段VGDA、VGSA区域(很多是0x220000 byte)开始,整个PV就被描述成了一个个的单独PP,VG中所有PV的所有PP在VG中顺序编号,就是整个VG的可用空间。

谈LP之前先说一下LV。VG创建出来后,就需要对其可用空间进行利用,这个概念,类似于PC的硬盘分区,LV是VG中一部分PP的集合。1个VG中可以划分多个LV,但一个LV只可以属于一个VG(不可以跨VG划分LV)。有时候PP的数量很多,为了效率上的考虑,LV的分配单位可以是多个PP,这就是LP。LP最小是1个PP(最多情况),也可以是2个或3个PP,LP与PP的关系就像文件系统里的簇与扇区。

LV创建出来后就可以存储数据了,通常的用途是文件系统FS,一个LV可以格式化为一个FS,也可以由几个LV组成RAID0,RAID1,RAID10,再格式化为FS。

二、部分AIX存储命令

lspv 列出系统内可识别的pv

lspv -l hdisk0 列出 hdisk0的属性摘要

od –t x1 hdisk0 |more 以HEX方式查看hdisk0,可测试其是否可读

lsvg 列出所有VG

lsvg <vgname> 列出指定VG属性

lsvg –l <vgname> 列出指定VG下的LV信息

lsvg –M <vgname> 列出指定VG下PP的LV分配MAP表。

lslv <lvname> 列出指定lv属性

lslv –m <lvname> 列出指定lv在VG中的PP MAP分配表。

cfgmgr 识别新硬件,如新pv

cfgmgr –i iscsi 识别新的iscsi磁盘

创建命令略(可以用smit )

varyonvg 激活VG

varyoffvg 非激活VG

从PV中导入VG: importvg –y <vgname> <pvname>

创建一个测试环境,基于ISCSI

{

iscsi部分:

1、处理TARGET部分,WINDOWS上的STARWIND,WINTARGET,LINUX上的OPENFILER之类的

2、lsdev |grep iscsi,如果提示“iscsi0 Available iSCSI Protocol Device” 表示ISCSI客户端已经安装,设备号是iscsi0。也可以用lslpp -L|grep -i iscsi 确认是否已经安装了ISCSI软件包。

3、vi /etc/iscsi/targets 在最后一行,以空格隔开,分上"IP 端口 iqn_name",如

192.168.1.153 3260 iqn.2003-06.com.rocketdivision.starwind.www.datahf.net.imagefile0

4、cfgmgr -i iscsi(扫描所有ISCSI设备)或 cfgmgr -l iscsi0(只扫描iscsi0设备,见上面iscsi0设备的获取过程)

5、lspv 或lsdev -Cc disk确认磁盘是否挂上,可用lsattr -El hdisk?查看磁盘细节

VGLVFS部分(推荐用smit):

1、chdev -l hdisk? -a pv=yes (为hdisk生成pvid)

2、mkvg -y testvg hdisk? (创建VG)

3、mklv -y testlvjfs2 testvg 600 (创建LV)

mklv -y testlvjfs2log testvg 30

4、chlv -t jfs2 testlvjfs2

chlv -t jfs2log testlvjfs2log

mkfs -V jfs2 -o log=/dev/testlvjfs2log /dev/testlvjfs2

5、mount -o log=/dev/testlvjfs2log /dev/testlvjfs2 /mnt/j2fs

}

删除VG:removevg(小心。数据会丢,当然花钱找我们是可以恢复的,嘿嘿)

删除一个测试存储的过程

{

导出VG:

umount <FS>

varyoffvg <vgname>

exportvg <vgname> (如果PV已经丢失,直接执行此命令即可从ODM库中清除VG信息)

删除PV:rmdev -dl hdisk?(可以将无效的hdisk信息释放)

}

logform 格式化jfs /jfs2日志(日志损坏时或许需要)

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广