IBM AIX存储层结构及操作命令实现

简介:

一、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?查看磁盘细节

   VG\LV\FS部分(推荐用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日志(日志损坏时或许需要)





本文转自 张宇 51CTO博客,原文链接:http://blog.51cto.com/zhangyu/749837,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
存储 缓存 关系型数据库
Mysql专栏 - Linux底层交互和Raid存储架构
Mysql专栏 - Linux底层交互和Raid存储架构
85 0
|
6月前
|
存储 缓存 算法
解密Linux中的通用块层:加速存储系统,提升系统性能
本文探讨了Linux操作系统中的通用块层和存储系统I/O软件分层的优化策略。通用块层作为文件系统和磁盘驱动之间的接口,通过排队和调度I/O请求,提高磁盘的读写效率和可靠性。存储系统的I/O软件分层包括文件系统层、通用块层和设备层,它们相互协作,实现对存储系统的高效管理和操作。本文旨在深入了解通用块层和其他I/O软件层的功能和作用,分析优化存储系统的管理和操作,提升系统性能和可靠性。
解密Linux中的通用块层:加速存储系统,提升系统性能
|
11月前
|
存储 域名解析 网络协议
【Linux进阶篇】系统网络附加存储
【Linux进阶篇】系统网络附加存储
102 0
|
存储 缓存 Linux
【Linux】为什么海量存储选用大文件结构
【Linux】为什么海量存储选用大文件结构
【Linux】为什么海量存储选用大文件结构
|
存储 关系型数据库 数据库
Postgresql数据库体系结构-存储结构
PostgreSQL数据库体系结构-存储结构 存储结构 聚簇逻辑结构聚簇物理结构 聚簇数据库数据文件表空间数据文件内部结构tuple的读写方法 1、数据库聚簇逻辑结构(Logical Structure of Database Cluster) database...
6616 0
|
存储 缓存 固态存储