记一次数据库安装磁盘环境准备
- 需求描述
-
- 基础知识
- 环境概况
- 执行步骤
需求描述
接到一个学习性的需求:在AIX系统中安装Oracle11g数据库,作为测试环境的数据库备机。整个过程分四个部分:
- 基础软件安装;
- 磁盘及存储空间准备 ;
- 安装数据库软件;
- 创建实例;
其他步骤相对简单,第二个步骤设计很多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
至此,为安装数据库所作的磁盘空间的准备已经完成
- 因为在写这篇文章的时候数据库已经装好了,本文中大部分查询的系统参数都是笔者凭印象写的,关键参数基本无误,其他参数可能会略有误差,请谅解!