zoukankan      html  css  js  c++  java
  • 分析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?查看磁盘细节
       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日志(日志损坏时或许需要)

  • 相关阅读:
    Select查询执行顺序
    javascript异步处理
    ASP.NET MVC WebAPI请求
    函数声明和函数表达式
    var声明的成员变量和函数内声明的变量区别
    网页大小自适应方案
    MVC Html.AntiForgeryToken() 防止CSRF攻击
    Jquery跨域请求
    螺旋模型
    快速原型模型
  • 原文地址:https://www.cnblogs.com/frombyte/p/9182935.html
Copyright © 2011-2022 走看看