Linux操作系统存储技术指导手册(For HDS Storage)
目 录
一. 使用前的环境检查 3
1.1 操作系统环境检查 3
1.1.1 操作系统版本 3
1.1.2 检查HBA卡安装和参数配置 3
1.2 检查HDLM版本情况 4
1.3 检查当前LUN识别情况 5
1.4 检查非HDS磁盘情况 5
1.5 检查VG及LV的情况 5
二. 通用模块 7
2.1 磁盘识别 7
三. 创建/扩容文件系统 7
3.1 执行dlmcfgmgr命令并创建分区 7
3.2 创建文件系统 8
3.3 扩容文件系统,使用该步骤 8
4创建/扩容数据库ASM盘 9
4.1 创建ASM磁盘组 9
4.1.1添加磁盘,生成设备别名 9
五. 从现有环境中回收存储 13
5.1 保留数据的回收文件系统 13
5.2 不保留数据的回收LUN 13
5.3 ASM环境中回收存储 14
六. 文件系统迁移(非磁盘复制) 15
6.1 删除原服务器文件系统 15
6.2 识别新服务器文件系统 15
七. ASM盘全量迁移(非磁盘复制) 15
7.1 回收原服务器ASM盘 15
7.2 新服务器识别并新增ASM盘 16
1. 使用前的环境检查
1.1 操作系统环境检查
1.1.1 操作系统版本
1)确认操作系统版本:
# cat /etc/SuSE-release
SUSE Linux Enterprise Server 10 (x86_64)
VERSION = 10
PATCHLEVEL = 4
或:
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 2
1.1.2 检查HBA卡安装和参数配置
1)确认HBA卡硬件安装情况:
# lspci -nn | grep "Fibre Channel"
06:00.0 Fibre Channel [0c04]: Emulex Corporation Saturn-X: LightPulse Fibre Channel Host Adapter [10df:f100] (rev 03)
06:00.1 Fibre Channel [0c04]: Emulex Corporation Saturn-X: LightPulse Fibre Channel Host Adapter [10df:f100] (rev 03)
82:00.0 Fibre Channel [0c04]: Emulex Corporation Saturn-X: LightPulse Fibre Channel Host Adapter [10df:f100] (rev 03)
82:00.1 Fibre Channel [0c04]: Emulex Corporation Saturn-X: LightPulse Fibre Channel Host Adapter [10df:f100] (rev 03)
2)使用以下命令确定每块HBA卡是否正常驱动:
# ll /sys/class/fc_host
lrwxrwxrwx 1 root root 0 Jul 16 07:41 host10 -> ../../devices/pci0000:80/0000:80:01.0/0000:82:00.1/host10/fc_host/host10
lrwxrwxrwx 1 root root 0 Jul 16 07:41 host7 -> ../../devices/pci0000:00/0000:00:01.0/0000:06:00.0/host7/fc_host/host7
lrwxrwxrwx 1 root root 0 Jul 16 07:41 host8 -> ../../devices/pci0000:00/0000:00:01.0/0000:06:00.1/host8/fc_host/host8
lrwxrwxrwx 1 root root 0 Jul 16 07:41 host9 -> ../../devices/pci0000:80/0000:80:01.0/0000:82:00.0/host9/fc_host/host9
3)使用以下命令确定具体的HBA卡型号:
# more /sys/class/scsi_host/hostN/modeldesc
4)使用以下命令确定具体的HBA驱动版本:
# more /sys/class/scsi_host/hostN/lpfc_drvr_version
5)使用以下命令确定具体的HBA支持的最大LUN数量:
# more /sys/class/scsi_host/hostN/lpfc_max_luns
6)使用以下命令确定具体的HBA的Queue Depth和LUN的Queue Depth:
# more /sys/class/scsi_host/hostN/lpfc_hba_queue_depth
# more /sys/class/scsi_host/hostN/lpfc_lun_queue_depth
1.2 检查HDLM版本情况
1)执行以下命令:
# /opt/D*/bin/dlnkmgr view -sys
HDLM Version : 7.6.0-00
Service Pack Version :
Load Balance : on(extended lio)
Support Cluster :
Elog Level : 3
Elog File Size (KB) : 9900
Number Of Elog Files : 2
Trace Level : 0
Trace File Size (KB) : 1000
Number Of Trace Files : 4
Path Health Checking : on(30)
Auto Failback : on(1)
Reservation Status :
Intermittent Error Monitor : off
Dynamic I/O Path Control : off(10)
HDLM Manager Ver WakeupTime
Alive 7.6.0-00 2014/05/16 23:31:48
HDLM Alert Driver Ver WakeupTime ElogMem Size
Alive 7.6.0-00 2014/05/16 23:31:40 1000
HDLM Driver Ver WakeupTime
Alive 7.6.0-00 2014/05/16 23:31:40
License Type Expiration
Permanent -
KAPL01001-I The HDLM command completed normally. Operation name = view, completion time = 2014/07/21 15:30:07
注意检查HDLM版本与OS版本、OS内核版本、HBA卡型号驱动的兼容性,同时注意HDLM的参数设置满足总行相关规范。
1.3 检查当前LUN识别情况
1)使用lscsi命令检查当前识别的SCSI设备情况:
# lsscsi
[7:0:0:9] disk HITACHI OPEN-V 7006 /dev/sdj
[7:0:0:10] disk HITACHI OPEN-V 7006 /dev/sdk
[7:0:0:11] disk HITACHI OPEN-V 7006 /dev/sdl
[8:0:0:0] disk HITACHI OPEN-V 7006 /dev/sdm
[8:0:0:1] disk HITACHI OPEN-V 7006 /dev/sdn
[8:0:0:2] disk HITACHI OPEN-V 7006 /dev/sdo
[8:0:0:3] disk HITACHI OPEN-V 7006 /dev/sdp
四个数字a:b:c:d分别代
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
:
a:Host ID (host port number)
b:Channel number (bus number)
c:Target ID
d:Lun (host LU number)
2)使用以下命令检查HDLM管理设备与系统SCSI设备之间的对应关系:
# /opt/DynamicLinkManager/bin/dlnkmgr view -lu -c -item
1.4 检查非HDS磁盘情况
1)使用以下命令检查非HDS磁盘情况:
# lsscsi | grep -v HITACHI
考虑到不同厂家的多路径软件之间可能存在不兼容的情况,HDS不推荐同一服务器同时连接不同厂家的磁盘机。
1.5 检查VG及LV的情况
1)确定系统VG的列表:
# vgs
VG #PV #LV #SN Attr VSize VFree
dbmsvg 3 2 0 wz--n- 111.62g 11.62g
system 1 9 0 wz--n- 278.00g 181.00g
2)显示VG的详细信息:
# vgdisplay -v /dev/dbmsvg
--- Volume group ---
VG Name dbmsvg
system ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 3
Act PV 3
VG Size 111.62 GiB
PE Size 4.00 MiB
Total PE 28575
Alloc PE / Size 25600 / 100.00 GiB
Free PE / Size 2975 / 11.62 GiB
VG UUID 13v6Fp-3D9H-JLuK-8e5j-6ywS-1cw1-NXqUs4
--- Logical volume ---
LV Name /dev/dbmsvg/dbms_lv
VG Name dbmsvg
LV UUID cDNcoU-pPMU-wQad-MrCf-nztX-2awe-KQ2pAx
LV Write Access read/write
LV Status available
# open 1
LV Size 50.00 GiB
Current LE 12800
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 1024
Block device 253:9
--- Logical volume ---
LV Name /dev/dbmsvg/grid_lv
VG Name dbmsvg
LV UUID QN8g5E-LMlI-XX2W-vlK0-Z0XV-wcfe-YRK1zR
LV Write Access read/write
LV Status available
# open 1
LV Size 50.00 GiB
Current LE 12800
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 1024
Block device 253:10
--- Physical volumes ---
PV Name /dev/disk/by-id/scsi-360060e8016649b000001649b0000080a
PV UUID cnJUAM-oKml-0LvC-iaVF-lFMz-YFqN-3bhwbS
PV Status allocatable
Total PE / Free PE 9525 / 0
PV Name /dev/disk/by-id/scsi-360060e8016649b000001649b0000080c
PV UUID sfjBTl-kUSW-vYj0-D2sW-xp12-cCUX-etc5Lj
PV Status allocatable
Total PE / Free PE 9525 / 2975
PV Name /dev/disk/by-id/scsi-360060e8016649b000001649b0000080e
PV UUID shOuwc-f9WQ-EpH5-t1Gq-HPCh-45Lq-MF4wQO
PV Status allocatable
Total PE / Free PE 9525 / 0
2. 通用模块
2.1 磁盘识别
1)针对系统的hostN,执行以下操作:
# echo "- - -" > /sys/class/scsi_host/hostN/scan
2)如未识别磁盘,尝试使用如下方法:
# echo "1" > /sys/class/fc_host/hostN/issue_lip
# echo "- - -" > /sys/class/scsi_host/hostN/scan
3. 创建/扩容文件系统
3.1 执行dlmcfgmgr命令并创建分区
多路径聚合:dlmcfgmgr -r
多路径检查:dlmcfgmgr -v
创建分区
#!/bin/bash
fdisk $1<
2)新建vg:vgcreate …
3)新建lv:lvcreate –n -L
4)新建filesystems:mkfs.ext3 ,按照2014年行内规范使用ext3格式文件系统
5)创建文件系统目录:mkdir –p
#pvcreate /dev/sddlmaa1 /dev/addlmab1 .....
#vgcreate dbmsvg /dev/sddlmaa1 /dev/sddlmab1 ....
#lvcreate -n dbms_lv -L 49G dbmsvg
#mkfs.ext3 /dev/dbmsvg/dbms_lv
#mkdir -p /oracleser/app11203
6)修改/etc/fstab文件,添加诸如下内容:
# vi /etc/fstab 添加如下类似行
/dev/dbmsvg/dbms_lv(lv所在路径) /oragrid(文件系统) ext3 acl,user_xattr 1 2
7)mount文件系统并修改属主:
#mount /oragird
#chown oracle:dba /oragrid
3.3 扩容文件系统,使用该步骤
1)扩容vg大小:vgextend
范例:vgextend datavg /dev/sddlmma1
2)扩容lv大小:lvextend -L +size
范例:lvextend -L +20G /dev/datavg/data_lv
3)调整文件系统大小:resize2fs
范例:resize2fs /dev/datavg/data_lv
4创建/扩容数据库ASM盘
1.
2.
3.
4.
4.1 创建ASM磁盘组
对于HDS存储,由于HDLM 7.6及以上版本具有可固定设备名的特性,因此针对Suse 10、Suse 11不同的操作系统版本,HDLM的版本不同,存储配置方法也不同。
4.1.1添加磁盘,生成设备别名
Suse 10
1)添加磁盘之前,保存各节点的LUN号与磁盘设备名的对应关系,并备份udev文件。以root用户在RAC各节点执行以下命令,并保存执行结果:
# cp /etc/udev/rules.d/99-oracle-asmdevices.rules /etc/udev/rules.d/99-oracle-asmdevices.rules.bak
2)添加磁盘可能需要重启操作系统,重启之前需要先停止集群,重启之后可能导致设备名混乱,若设备名发生混乱并集群已自启动,需要先停止集群。待完成设备别名调整后再启动集群。
3)查询扩容后的各节点的磁盘LUN号同设备名的对应关系,并保存结果。
# /opt/DynamicLinkManager/bin/dlnkmgr view -lu
4)确认新增磁盘,并将用于ASM管理的磁盘进行分区(仅在单个节点执行即可),以/dev/sddlmaa为例。以root用户在任一节点执行以下操作:
fdisk /dev/sddlmaa
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First sector (61-1048575, default 61): 默认
Last sector or +size or +sizeM or +sizeK (, default 1048575): 默认
Using default value 1048575
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
或使用脚本方式创建磁盘分区
创建分区
#!/bin/bash
fdisk $1< /proc/scsi/scsi
# dlmcfgmgr –i /dev/sddlmN
5)刷新HDLM设备,检查LUN状态,并
# dlmcfgmgr –v
# dlmcfgmgr –u /dev/sddlmN
# dlmcfgmgr –r
# dlmcfgmgr -v
5.2 不保留数据的回收LUN
1)umount文件系统
# umount /oracleser/app11203
2)deactive vg
#vgchange –an /dev/dbmsvg
3)删除lv
# lvremove /dev/testvg/testlv
4)删除vg
# vgremove /dev/testvg
5)删除pv
# pvremove /dev/sddlmma
6)删除mapping关系
7)删除scsi设备
# dlmcfgmgr –o /dev/sddlmN
# echo "scsi remove-single-device a b c d" > /proc/scsi/scsi #a b c d可通过dlmcfgmgr -v命令得到
# dlmcfgmgr –i /dev/sddlmN
8)刷新HDLM设备,检查LUN状态,并
# dlmcfgmgr –v
# dlmcfgmgr –u /dev/sddlmN
# dlmcfgmgr –r
# dlmcfgmgr -v
5.3 ASM环境中回收存储
1)将需要删除的LUN所对应的ASM盘从oracle数据库DG中删除。
2)在节点1上修改udev配置文件,编辑99-oracle-asmdevices.rules,将对应的LUN从文件中删除,如该数据库为RAC,则需要在节点2上相应修改udev配置文件。
3)重启udev服务使之生效:
# /etc/init.d/boot.udev restart
4)验证ASM磁盘已从系统上剔出
# ls -l /dev/ASM*
5)将退出的LUN删除分区
# fdisk /dev/sddlmac
Command (m for help): p
Disk /dev/sddlmac: 2147 MB, 2147483648 bytes
48 heads, 4 sectors/track, 21845 cylinders, total 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x599ea4f2
Device Boot Start End Blocks Id system
/dev/sddlmac1 2048 4194303 2096128 8e Linux LVM
Command (m for help): d
Selected partition 1
Command (m for help):
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
6)使用/usr/sbin/partprobe更新分区表,确认分区执行成功
# /usr/sbin/partprobe
# cat /proc/partitions
251 0 104857600 sddlmaa
251 1 104856576 sddlmaa1
251 16 104857600 sddlmab
251 17 104856576 sddlmab1
251 32 1048576 sddlmac
7)从系统上将该块LUN从系统中退出
详见上述回收存储步骤
6. 文件系统迁移(非磁盘复制)
6.1 删除原服务器文件系统
1)卸载原文件系统,并导出vg
# umount /test
#vgchange –an /dev/testvg
#vgexport /dev/testvg
2)从磁盘机上找到原服务器所在hostgroup,删除原WWN,添加新服务器对应的WWN,并从服务器上将LUN删除,注释/etc/fstab文件所在外置文件系统的行。
6.2 识别新服务器文件系统
3)新服务器上识别LUN,并扫描磁盘盘头信息,自动识别volume group信息
# vgscan
4)激活volume group后,修改/etc/fstab,该文件所对应的外置文件系统内容应与原服务器一致
#vgchange –ay /dev/testvg
#mount -a
7. ASM盘全量迁移(非磁盘复制)
7.1 回收原服务器ASM盘
详见ASM回收章节
7.2 新服务器识别并新增ASM盘
suse10
1)对原服务器存储进行挂载,添加WWN
2) 识别LUN,无需创建分区,刷新分区表自动识别
#/usr/sbin/partprobe
3)根据迁移前后LUN号和盘符的对应关系,调整udev文件中原磁盘的映射关系,确保各节点的原磁盘同一LUN号指向的设备别名不变,确保节点之间同一设备名指向同一磁盘。并将新增盘的udev映射关系添加至udev文件99-oracle-asmdevices.rules。示例如下:
如迁移前LUN 0217对应的盘符为sddlmaa,原udev定义如下:
KERNEL=="sddlmaa1", OWNER="grid", GROUP="dba", MODE="0660", NAME="ASMDAT1"
则迁移后LUN 0217对应的盘符为sddlmab,则更新udev定义如下:
KERNEL=="sddlmab1", OWNER="grid", GROUP="dba", MODE="0660", NAME="ASMDAT1"
4)更新分区表、重启udev服务;在所有节点执行以下命令,使用/sbin/partprobe更新分区表
# /usr/sbin/partprobe
# cat /proc/partitions
重启udev服务及服务器,使其生效:
# /etc/init.d/boot.udev restart
在所有节点验证设备节点创建成功。
# ls -la /dev/ASM*
brw-rw---- 1 grid dba 251, 1 May 28 21:42 /dev/ASMDAT1
brw-rw---- 1 grid dba 251, 17 May 28 21:42 /dev/ASMDAT2
brw-rw---- 1 grid dba 251, 33 May 28 21:42 /dev/ASMLOG1
brw-rw---- 1 grid dba 251, 49 May 28 21:42 /dev/ASMLOG2
注意:若未创建成功,则执行reboot使其生效。
suse11
1)对原服务器存储进行挂载,添加WWN
2)使用cat /proc/partitions查看磁盘及分区是否在分区表配置文件中,如果不存在,使用/usr/sbin/partprobe更新分区表:
# cat /proc/partitions
250 112 104857600 sddlmah
250 113 104857600 sddlmah1
#/usr/sbin/partprobe
3)将原服务器的udev rules文件99-oracle-asmdevices.rules直接拷贝至新服务器相应位置。
4)重启udev服务,使其生效,验证设备别名创建成功。
# /etc/init.d/boot.udev restart
6)验证设备别名创建成功。
# ls -la /dev/ASM*
brw-rw---- 1 grid dba 251, 1 May 28 21:42 /dev/ASMDAT1
brw-rw---- 1 grid dba 251, 17 May 28 21:42 /dev/ASMDAT2
brw-rw---- 1 grid dba 251, 33 May 28 21:42 /dev/ASMLOG1
brw-rw---- 1 grid dba 251, 49 May 28 21:42 /dev/ASMLOG2
注意:若未创建成功,可尝试执行/usr/sbin/partprobe使其生效;若仍不能成功创建别名,可执行reboot使其生效。