天天看点

记一次数据库安装磁盘环境准备需求描述

记一次数据库安装磁盘环境准备

  • 需求描述
    • 基础知识
    • 环境概况
    • 执行步骤

需求描述

接到一个学习性的需求:在AIX系统中安装Oracle11g数据库,作为测试环境的数据库备机。整个过程分四个部分:

  1. 基础软件安装;
  2. 磁盘及存储空间准备 ;
  3. 安装数据库软件;
  4. 创建实例;

其他步骤相对简单,第二个步骤设计很多AIX系统下的磁盘管理知识,本文着重记录该步骤的执行过程及用到的基础知识、常用命令等内容。

基础知识

在AIX 系统中,所有的物理存储资源都是由逻辑卷管理系统 Logical Volume Manager (LVM)统一管理的。这个系统的管理逻辑与其他操作系统的磁盘管理有多不同。下面笔者将基于自己的理解,类比Window下的磁盘管理逻辑对LVM下涉及的关键概念进行解释。

  • 物理卷 physical volumes(PV)

    这个概念对应物理意义上的硬盘,主机中存在的每一个硬盘驱动器都对应一个PV,并分别具有自己的名称(例如:hdisk0、hdisk1 或 hdisk2),物理ID,使用状态等信息;

  • 逻辑卷组 logical volume group(LVG)

    组合一个或多个闲置的pv可以开辟一个lvg(简称vg),这是逻辑层面对存储资源进行管理和使用的最大单位,一个vg可以包含多个pv,一个pv只能属于一个vg;

  • physical partitions(PP)

    这个词没有通用的中文译名,大佬们交流都是直接叫pp,可以理解为物理片段,是由vg等量切分出来的。pp是在vg中进行空间分配时的最小单位,其大小在创建vg时指定,一旦vg创建就不易修改。这里需要理解一种特殊情况,因为vg可以由多个pv组成,在创建vg时pp的大小是可选的,把vg按pp的大小进行等分,就很有可能出现有一个pp的存储资源分别来自两块pv,这种情况在后续管理lv的时候需要特别注意;

  • 逻辑卷(logical volume,LV)

    lv是用来在具体的目录进行挂载的对象,lv的空间需要从vg中分配,单位是pp,一个lv创建完成之后就可以将其挂载在具体的目录下面,lv空间的大小就是目录中可以使用的最大容量。

  • logical partitions(LP)

    lv分片时的基本单位,大小通常与pp一致;

环境概况

  • 操作系统:AIX Version 7.1
  • 系统版本:7100-00-03-1115

    查看系统小版本

oslevel -s 
           

执行步骤

用root用户登录系统

  • 查看磁盘情况
-bash-4.4# lspv
hdisk0          00f82baa9cda0b11                    rootvg          active
hdisk1          00fb872f821b5dd0                    none
           

名为hdisk1的pv不属于任何vg,就用它来创建安装数据库用的appvg;

  • 创建vg
-bash-4.4# mkvg -S -y appvg –s 1024 hdisk1
           
参数 说明
-S 创建可伸缩类型的卷组(例:extendvg appvg hdisk2)
-y appvg 指定vg名称为appvg
–s 1024 pp大小为1024MB

验证:

-bash-4.4# lspv
hdisk0          00f82baa9cda0b11                    rootvg          active
hdisk1          00fb872f821b5dd0                    appvg           active
-bash-4.4# lsvg appvg
VOLUME GROUP:       appvg                    VG IDENTIFIER:  00fb872f00004c00000001692956422e
VG STATE:           active                   PP SIZE:        1024 megabyte(s)
VG PERMISSION:      read/write               TOTAL PPs:      49 (50176 megabytes)
MAX LVs:            256                      FREE PPs:       49 (3072 megabytes)
LVs:                0                        USED PPs:       0 (47104 megabytes)
OPEN LVs:           2                        QUORUM:         2 (Enabled)
TOTAL PVs:          1                        VG DESCRIPTORS: 2
STALE PVs:          0                        STALE PPs:      0
ACTIVE PVs:         1                        AUTO ON:        yes
MAX PPs per VG:     32512
MAX PPs per PV:     1016                     MAX PVs:        32
LTG size (Dynamic): 256 kilobyte(s)          AUTO SYNC:      no
HOT SPARE:          no                       BB POLICY:      relocatable
PV RESTRICTION:     none                     INFINITE RETRY: no
DISK BLOCK SIZE:    512                      CRITICAL VG:    no
           
  • 创建lv

    从上一步的结果可知当前pv可用容量有49G,下面创建两个逻辑卷fslv00 和applv ,分别分配30G和15G的容量,切记不可把49G用光,至少留1G的容量给日志卷。

mklv -y fslv00 -t jfs2 -w n -s n -r n appvg 30
mklv -y applv -t jfs2 -w n -s n -r n appvg 15
           
参数 说明
-y NewLogicalVolume 指定使用逻辑卷名代替系统生成的名称
-t Type 设置逻辑卷的类型。jfs2(增强的日志文件系统)
-w MirrorWriteConsistency 确定镜像写一致性。n :没有镜像写一致性
-s Strict 确定严格的分配策略。n:没有设置一个严格的分配策略,这样逻辑分区的副本可以共享相同的物理卷。
-r Relocate 设置重组织重定位标志。n:防止在重组织过程中重定位逻辑卷。
  • 创建文件系统
crfs -v jfs2 -d fslv00 -m /oracle -A yes -p rw
           
  • 挂载文件系统
mount /oracle
           

验证:

-bash-4.4# lsvg appvg
VOLUME GROUP:       appvg                    VG IDENTIFIER:  00fb872f00004c00000001692956422e
VG STATE:           active                   PP SIZE:        1024 megabyte(s)
VG PERMISSION:      read/write               TOTAL PPs:      49 (50176 megabytes)
MAX LVs:            256                      FREE PPs:       3 (3072 megabytes)
LVs:                3                        USED PPs:       46 (47104 megabytes)
OPEN LVs:           2                        QUORUM:         2 (Enabled)
TOTAL PVs:          1                        VG DESCRIPTORS: 2
STALE PVs:          0                        STALE PPs:      0
ACTIVE PVs:         1                        AUTO ON:        yes
MAX PPs per VG:     32512
MAX PPs per PV:     1016                     MAX PVs:        32
LTG size (Dynamic): 256 kilobyte(s)          AUTO SYNC:      no
HOT SPARE:          no                       BB POLICY:      relocatable
PV RESTRICTION:     none                     INFINITE RETRY: no
DISK BLOCK SIZE:    512                      CRITICAL VG:    no

-bash-4.4# lsvg -l appvg
appvg:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
fslv00              jfs2       30      30      1    open/syncd    /export/mksysb
applv               jfs2       15      15      1    closed/syncd  N/A
loglv00             jfs2log    1       1       1    open/syncd    N/A
           

下面就可以开始准备安装数据库了,但是据说安装之前要保证/tmp目录下有足够的空间,我查了一下:

-bash-4.4# df -g
Filesystem    GB blocks      Free %Used    Iused %Iused Mounted on
/dev/hd4           2.00      0.07   97%    10780    36% /
/dev/hd2           5.00      2.79   45%    47653     7% /usr
/dev/hd9var        2.00      1.70   16%     6470     2% /var
/dev/hd3           2.00      1.90    4%      304     2% /tmp
/dev/hd1           2.00      2.00    1%       75     1% /home
/dev/hd11admin      0.12      0.12    1%        5     1% /admin
/proc                 -         -    -         -     -  /proc
/dev/hd10opt       0.50      0.16   68%    25829    40% /opt
/dev/livedump      0.25      0.25    1%        4     1% /var/adm/ras/livedump
168.7.61.251:/install    150.00     34.84   77%    32224     1% /test
/dev/fslv00       30.00      30.00   0%    0     0% /oracle
           
参数 说明
df -g 以GB为单位查看所有lv容量情况

/tmp目录下只有2G的容量,需要拓展

  • 拓展/tmp目录容量
-bash-4.4# lsvg rootvg
VOLUME GROUP:       rootvg                   VG IDENTIFIER:  00f82baa00004c000000015e9cda0cfa
VG STATE:           active                   PP SIZE:        32 megabyte(s)
VG PERMISSION:      read/write               TOTAL PPs:      639 (20448 megabytes)
MAX LVs:            256                      FREE PPs:       117 (3744 megabytes)
LVs:                12                       USED PPs:       522 (16704 megabytes)
OPEN LVs:           11                       QUORUM:         2 (Enabled)
TOTAL PVs:          1                        VG DESCRIPTORS: 2
STALE PVs:          0                        STALE PPs:      0
ACTIVE PVs:         1                        AUTO ON:        yes
MAX PPs per VG:     32512
MAX PPs per PV:     1016                     MAX PVs:        32
LTG size (Dynamic): 256 kilobyte(s)          AUTO SYNC:      no
HOT SPARE:          no                       BB POLICY:      relocatable
PV RESTRICTION:     none                     INFINITE RETRY: no
DISK BLOCK SIZE:    512                      CRITICAL VG:    no
           

rootvg下总共有639个pp,每个pp容量为32MB,剩余117个,共计3744 MB,可以从中分出3G给/tmp

-bash-4.4# lsvg -l rootvg
rootvg:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
hd5                 boot       1       1       1    closed/syncd  N/A
hd6                 paging     44      44      1    open/syncd    N/A
hd8                 jfs2log    1       1       1    open/syncd    N/A
hd4                 jfs2       64      64      1    open/syncd    /
hd2                 jfs2       160     160     1    open/syncd    /usr
hd9var              jfs2       64      64      1    open/syncd    /var
hd3                 jfs2       64      64      1    open/syncd    /tmp
hd1                 jfs2       64      64      1    open/syncd    /home
hd10opt             jfs2       16      16      1    open/syncd    /opt
hd11admin           jfs2       4       4       1    open/syncd    /admin
lg_dumplv           sysdump    32      32      1    open/syncd    N/A
livedump            jfs2       8       8       1    open/syncd    /var/adm/ras/livedump
           

/tmp目录下挂在的lv名为,下属于rootvg,占用64个PP的空间,计划拓展到5GB,共计(5*1024/32)=160个pp:

-bash-4.4# smit extendlv
           

弹出以下面板

Type or select a value for the entry field.
Press Enter AFTER making all desired changes.

                                                        [Entry Fields]
* LOGICAL VOLUME name                                []
           

点击F4,在列表中选择hd3,按回车,出现以下列表:

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

                                                        [Entry Fields]
* LOGICAL VOLUME name                                 hd3
* Number of ADDITIONAL logical partitions            [160]                                                                                                                                                                     #
  PHYSICAL VOLUME names                              []                                                                                                                                                                       +
  POSITION on physical volume                         edge                                                                                                                                                                    +
  RANGE of physical volumes                           minimum                                                                                                                                                                 +
  MAXIMUM NUMBER of PHYSICAL VOLUMES                 [32]                                                                                                                                                                      #
    to use for allocation
  Allocate each logical partition copy                yes                                                                                                                                                                     +
    on a SEPARATE physical volume?
  File containing ALLOCATION MAP                     []
           

输入Number of ADDITIONAL logical partitions 的值为160,PHYSICAL VOLUME names属性指不指定无所谓,因为当前逻辑卷组rootvg下面只有一个物理卷hdisk0,其他属性取默认值即可,按回车确认,然后按F10退出smit的界面;

验证:

-bash-4.4# df -g
Filesystem    GB blocks      Free %Used    Iused %Iused Mounted on
/dev/hd4           2.00      0.07   97%    10780    36% /
/dev/hd2           5.00      2.79   45%    47653     7% /usr
/dev/hd9var        2.00      1.70   16%     6470     2% /var
/dev/hd3           5.00      4.90    2%      304     1% /tmp
/dev/hd1           2.00      2.00    1%       75     1% /home
/dev/hd11admin      0.12      0.12    1%       5     1% /admin
/proc                 -         -    -         -     -  /proc
/dev/hd10opt       0.50      0.16   68%    25829    40% /opt
/dev/livedump      0.25      0.25    1%        4     1% /var/adm/ras/livedump
168.7.61.251:/install    150.00     34.84   77%    32224     1% /test
/dev/fslv00       30.00      30.00    0%       0     0% /oracle
-bash-4.4# lsvg rootvg
VOLUME GROUP:       rootvg                   VG IDENTIFIER:  00f82baa00004c000000015e9cda0cfa
VG STATE:           active                   PP SIZE:        32 megabyte(s)
VG PERMISSION:      read/write               TOTAL PPs:      639 (20448 megabytes)
MAX LVs:            256                      FREE PPs:       21 (672 megabytes)
LVs:                12                       USED PPs:       618 (19776 megabytes)
OPEN LVs:           11                       QUORUM:         2 (Enabled)
TOTAL PVs:          1                        VG DESCRIPTORS: 2
STALE PVs:          0                        STALE PPs:      0
ACTIVE PVs:         1                        AUTO ON:        yes
MAX PPs per VG:     32512
MAX PPs per PV:     1016                     MAX PVs:        32
LTG size (Dynamic): 256 kilobyte(s)          AUTO SYNC:      no
HOT SPARE:          no                       BB POLICY:      relocatable
PV RESTRICTION:     none                     INFINITE RETRY: no
DISK BLOCK SIZE:    512                      CRITICAL VG:    no
-bash-4.4# lsvg -l rootvg
rootvg:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
hd5                 boot       1       1       1    closed/syncd  N/A
hd6                 paging     44      44      1    open/syncd    N/A
hd8                 jfs2log    1       1       1    open/syncd    N/A
hd4                 jfs2       64      64      1    open/syncd    /
hd2                 jfs2       160     160     1    open/syncd    /usr
hd9var              jfs2       64      64      1    open/syncd    /var
hd3                 jfs2       160     160     1    open/syncd    /tmp
hd1                 jfs2       64      64      1    open/syncd    /home
hd10opt             jfs2       16      16      1    open/syncd    /opt
hd11admin           jfs2       4       4       1    open/syncd    /admin
lg_dumplv           sysdump    32      32      1    open/syncd    N/A
livedump            jfs2       8       8       1    open/syncd    /var/adm/ras/livedump
           

至此,为安装数据库所作的磁盘空间的准备已经完成

  • 因为在写这篇文章的时候数据库已经装好了,本文中大部分查询的系统参数都是笔者凭印象写的,关键参数基本无误,其他参数可能会略有误差,请谅解!

继续阅读