转换LVM、JFS和JFS2到VXVM和VXFS
转换的VXVM基本工具是vxconvert和vxdiskadm命令。在系统中可以被LVM管理的磁盘有两类:卷组中使用的LVM磁盘和没有被卷组使用的LVM磁盘。未被卷组使用的LVM磁盘还是被cfgmgr写了磁盘头。 对于没有使用的磁盘可以使用vxdiskadm命令。在卷组中的磁盘,转换主要使用vxconvert命令。
一、初始化未被LVM使用的物理卷为VXVM磁盘
删除LVM磁盘信息
使用命令: chpv –c diskname diskname是任何物理磁盘,像hdisk4 为VXVM的使用初始化磁盘
使用vxdiskadm命令,选择选项: 1) Add or initialize one or more disks 或者使用命令: vxdisk init disk_name
如果在使用这两种命令之前没有使用chpv命令,将会失败。
二、转换LVM卷组到VXVM磁盘组
被挂载的JFS和JFS2文件系统不能被转换,确保转换前卸载文件系统。默认情况下vxconvert转换时不使用跨平台数据共享(CDS)功能。可以使用vxcdsconvert命令转换为有跨平台数据共享能力的磁盘组。 转换过程概要
1. 确定要转换的卷组
2. 分析LVM卷组、JFS、JFS2文件系统,在卷组上查看是否有可能转换。 3. 如果分析失败,采取相应的动作使用转换成为可能。 4. 备份LVM配置和用户数据。 5. 规划新的VXVM卷名。
6. 停止访问被转换卷组中卷的应用。
7. 转换JFS或JFS2文件系统,然后转换卷组。 8. 如果转换失败,采取相应动作。 9. 实现新VXVM卷名的更改。 10. 在新VXVM卷上重启应用。 11. 调整VXVM配置。 转换JFS或JFS2为VXFS
Vxconvert工具转换JFS或JFS2为VXFS使用版本7的磁盘布局。转换需要在文件系统中或文件系统末端后面有足够的空闲空间;需要的空闲空间大约为文件系统大小的12-15%,准确的大小取决于文件、目录、inode的数量和大小。转换完成后可以使用像fsadm和vxresize这样的工具重组文件系统。
收缩已经被转换为VXFS文件系统的能力取决于文件系统的空闲空间。转换过程不会涉及到JFS或JFS2日志和快照设备,在文件系统被转换后,你可以恢复被这些设备使用的空间。 转换限制:
? 你不能使用vxconvert工具从VXFS转换为JFS或JFS2,如果要这样转换,你
必须重新创建原来的文件系统并且从备份恢复数据。 ? 被压缩的JFS文件系统不能被转换。在转换之前必须先解压被压缩的JFS文件
系统。
? 使用512字节段大小的JFS文件系统不能被转换。
? JFS或JFS2文件系统中的quota文件不能被转换为VXFS quota文件格式。 ? JFS文件系统的扩展属性不能被转换为VXFS扩展属性。 ? 使用512字节块大小的JFS2文件系统不能被转换。 ? Inode数量大于2
32的JFS2文件系统不能被转换。
? 有扩展属性的JFS2 V1文件系统可以被转换,但是这些属性不能被保存。 ? 有命名属性的JFS2 V2文件系统可以被转换,但是ACL和DMAPI属性不能
被保存。
? 有快照的JFS2文件系统可以被转换,但是快照不能被保存。
转换步骤解释
确定转换的LVM磁盘和卷组
转换过程中明显的一步是确定想要转换什么。原有的LVM管理工具像lsvg和smit可以帮助确定LVM卷组还有组成卷组的磁盘。也可以使用vxconvert和vxdisk命
令检查卷和它们的成员磁盘。也可以使用下面的VXVM命令列出LVM磁盘: # vxdisk list 。
分析LVM卷组查看转换是否可能
在选定了要转换的卷组后,需要分析卷组来检查转换是否可能。使用vxconvert的分析选项,防止转换可能出现的问题。
分析会计算添加卷组磁盘到VXVM磁盘组以及使用VXVM卷、plex和子磁盘替代已存在的磁盘和卷需要的空间。如果没有转换磁盘需要的空间,转换将失败。分析也计算转换包含JFS或JFS2的卷到VXFS需要的空间。如果在这些卷中没有足够的空间,转换将被终止。分析可以在用户访问数据的活动系统上运行。要分析LVM卷组,选择vxconvert工具的选项1 。 如果分析失败,采取动作使转换成为可能
分析可能因为任何转换限制的原因失败。Vxconvert的消息将解释失败的类型和重新尝试分析前采取的动作。 备份LVM配置和用户数据
尽快转换过程不会移除或以任何其他方式影响用户数据,但还是强烈建议备份在被影响磁盘上的所有数据。在转换期间任何重启、电源中断、硬件错误或操作系统BUG都可能导致不可预知的和意想不到的结果。 规划新的VXVM卷名
当从LVM卷改变为VXVM卷时,被系统访问数据的设备名也被改变。LVM创建的设备点在/dev目录下,VXVM创建的设备点在/dev/vx/dsk和/dev/vx/rdsk目录下。 当转换完成时vxconvert将使用新的VXVM名重写/etc/filesystems。
工作区:vxconvert记录LVM设备点和VXVM设备点名之间的映射。这个数据可以被用来创建从旧的LVM卷到VXVM设备名的符号链接,这个映射被记录在/etc/vx/reconfig.d/vgrecords/vol_grp_name/vol_grp_name.trans文件中 停止访问被转换卷组中卷的应用
没有应用可以在正在转换的LVM卷组上活动。在转换任何卷组之前必须确保使用这个卷组的应用是停止的,这包括停止数据库,卸载文件系统等。强烈建议不要依赖vxconvert的机制卸载文件系统。在运行vxconvert之前停止应用并且卸载文件系统将使转换变的简单。 转换卷组
要做实际的转换卷组,选择vxconvert工具的选项2 。(建议最好一次转换一个卷组来避免在转换过程中的错误。) 转换失败采取的动作
转换可能因为任何转换限制的原因失败。Vxconvert的消息将解释失败的类型和重新尝试分析前采取的动作。 实现新VXVM卷名的更改
你必须确保所有的应用和配置文件引用了正确的VXVM卷。 在新的VXVM卷上重启应用
一旦转换完成,文件系统可以在新的设备上挂载并且应用可以被重启。 调整VXVM配置
三、恢复LVM卷组配置
如果需要恢复原始LVM配置,必须恢复除了用户数据外还要恢复旧的LVM元数据以及相关的配置文件。LVM内部数据的快照被保存在root文件系统,在转换到VXVM之前必须备份在卷组中所有逻辑卷上的数据。 恢复LVM卷组包括两步:恢复LVM内部数据和恢复用户或应用数据。
四、使用vxconvert示例
显示vxconvert主菜单
要显示vxconvert菜单,使用命令: # vxconvert
列出磁盘信息
vxconvert的list选项显示系统上磁盘的信息。
列出LVM卷组信息
使用listvg选项列出卷组信息。
想转换的卷组不能是root卷组或在卷组中不能有可引导卷。 为转换分析LVM卷组、JFS和JFS2
要分析一个或多个LVM卷组和JFS或JFS2文件系统,选择选项1。
JFS分析失败示例
LVM卷分析失败
转换LVM 卷组、JFS或JFS2文件系统
要转换LVM卷为VXVM磁盘组和JFS或JFS2为VXFS,选择选项2 。
(Specify a name for the new VxVM disk group 指定的名字应该为新的DG名,示例中指
定了和原VG一样的名字,应该有错误) JFS转换失败示例
LVM转换失败示例
转换之前和之后输出示例 转换之前
转换之后
五、关于转换速度的概要信息
影响转换速度的因素包括: ? 卷组的大小。大的卷组,在每个磁盘上的VGRA区域大。每个物理磁盘上的VGRA
区域必须都有一个拷贝。
? 卷组中单个逻辑卷的大小和逻辑卷布局的复杂程度。
? 卷的数量。转换单个大的逻辑卷比转换多个小的逻辑卷速度快。
? 被镜像的卷。比起简单卷,转换典型的镜像卷不会消耗更多的时间。镜像并且条带
的卷将消耗比较久的时间。如果转换被镜像的卷,必须在分开的步骤中同步它们。
命令的差异
LVM和VXVM等同的命令
LVM chlv mklv 下表列出LVM命令和在VXVM中等同的命令。 描述 改变逻辑卷的特征 VXVM vxedit或vxvol 描述 创建、删除和修改卷管理器记录。 同时调整文件系统和它下面卷的大小。 使用make参数创建卷。例:vxassist make vol_name 100M layout=stripe 使用growto或growby参数增加卷的大小。例:vxassist growto vol_name 200M,vxassist growby vol_name 100M 。vxassist 创建和修改卷。 vxrecover命令执行重新同步卷或在指定磁盘上(介质名或磁盘的VXVM名)卷的操作。例:vxrecover vol_name \\ media_name 列出VXVM磁盘信息。例:vxdisk list \\ disk_name vxdisk工具在VXVM磁盘上执行基本的管理操作。操作包括初始化和替换磁盘,还有处理一些由卷管理器为磁盘模式提供的必要记录信息。 删除VXVM头信息并且从VXVM控制下释放磁盘 创建新的磁盘组和添加磁盘到磁盘组。 显示磁盘组的信息。显示所有对象或对象子集的信息。 没有单个等同的LVM命令 vxresize 创建逻辑卷 vxassist extendlv 扩展分配给逻辑卷的空间 vxassist syncvg –l 同步在一个或多个逻辑卷的镜像。 vxrecover vxvol start lspv chpv 显示物理卷信息 设置物理卷特征允许/拒绝从这个磁盘分配额外的物理分区 vxdisk list vxdisk vxdisk set vxedit chpv -C mkvg lsvg chvg 删除LVM头信息并且从LVM控制下释放磁盘 创建卷组 显示所有卷组的信息 激活或解除一个或多个卷组 通过添加一个或多个磁盘到卷组来扩展卷组。 通过从卷组删除一个或多个磁盘缩减卷组。 扫描所有磁盘并且查看逻vxdiskunsetup vxdiskadd vxdg init vxdg list vxprint vxdg –g 激活一个共享磁盘组。 diskgroup set activation=mode vxdiskadd vxdiskadm vxdg rmdisk vxdiskadm vxinfo 添加一个磁盘到磁盘组。 使用vxdiskadm菜单的选项1来添加磁盘到磁盘组。 从磁盘组删除磁盘。 使用vxdiskadm菜单的选项2删除磁盘。 显示卷的信息。 extendvg reducevg lsvg 辑卷组。 vxprint vxdiskadm 从VXVM磁盘组配置中的记录显示全部或部份信息。 使用vxdiskadm菜单中的list选项显示磁盘信息。 开始卷的重新同步和恢复。 从系统中删除磁盘组。 使用vxdiskadm中的选项9删除磁盘组。 从系统中删除磁盘组。 使用vxdiskadm中的选项8删除磁盘组。 导入卷组。 使用vxdiskadm菜单的选项7导入磁盘组。 在plex对象上操作。 在卷对象上操作。 在子磁盘对象上操作。 syncvg reducevg 同步在一个或多个逻辑卷的镜像。 从系统中删除卷组的定义。 从系统中删除卷组。 vxrecover vxdg deport vxdiskadm vxdg deport vxdiskadm vxdg import vxdiskadm vxplex vxvol vxsd exportvg importvg 通过扫描使用vgexport导出卷组的磁盘添加卷组到系统。 没有LVM命令 在逻辑卷上执行操作。 没有LVM命令 chlv,extendlv, mklv,rmlv
LVM和VXVM任务的比较
下表列出LVM和VVM等同的任务(镜像,镜像和条带,动态 活动/活动设备 多路径,热重定位,在线迁移和RAID5需要额外的许可证) 任务类型 VXVM 描述 使磁盘在卷管理器的控制下。 示例 vxdiskadd device_name 使用vxdiskadm菜单的选项1添加磁盘并且初始化它。 mkvg /dev/vol_grp /dev/dsk/disk_name vxdg init disk_group disk_name 使用vxdiskadm菜单的选项1执行这个任务 extendvg /dev/rdsk/disk_name /dev/vol_grp adddisk LVM VXVM 创建卷组 创建磁盘组 LVM VXVM LVM VXVM 添加磁盘到已存在的卷组 添加磁盘到已存在的磁盘组 扩展逻辑卷或增加空间给逻辑卷 给卷增加指定大小或增加到指定大小 vxdg –g disk_group disk=devicename extendlv –l 50 /dev/vol_grp/vol_name -l 选项表示逻辑卷扩展的分区数 vxresize –g disk_group –F vxfs vol_name length vxassist growto vol_name new_length vxassist growby vol_name new_length 在增加卷后再增加文件系统 vxresize –g disk_group –F vxfs VXVM 对卷减小指定大小或减小到指定大小 vol_name to_length vxassist –b shrinkby vol_name length vxassist –b shrinkby vol_name length importvg /dev/dsk/disk_name varyonvg /dev/vol_grp /dev/vol_grp LVM 导入或激活卷组 VXVM 导入磁盘组使用磁盘组在逻辑机制上可以访问 导出或释放LVM卷组以及相关的逻辑卷。 导出磁盘组,关闭对指定磁盘组的访问。如果磁盘组中的任何卷是打开的,磁盘组不能被导出。 恢复卷组配置到特定的物理卷 恢复磁盘组配置 删除卷组。通过删除最后的磁盘并且从/etc/filesystems删除文件系统来使用卷组无效。 使磁盘组无效 通过添加LVM磁盘来扩展卷组 添加一个或多个磁盘到磁盘组 通过减少磁盘数量缩小卷组。 从磁盘组删除磁盘 在卷组中创建逻辑卷 创建下列布局类型的卷: 连续卷 条带镜像卷 RAID5卷 显示逻辑卷信息 显示所有卷信息 显示指定卷信息 显示卷组信息 显示磁盘组信息 vxdg –tfc –n newname import disk_group 使用vxdiskadm菜单的选项7来执行这个任务. varyoffvg vol_group exportvg /dev/vol_group vxdg deport disk_group vxdiskadm 菜单的选项9执行这个任务。 vgrestore –n /dev/rdsk/disk_name vxconfigrestore exportvg /dev/vol_grp 这个过程通过对最后的磁盘lvremove和vgreduce完成。 vxdg destroy disk_group extendvg /dev/vol_grp/ /dev/diskname vxdiskadd diskname vxdiskadm 菜单的选项1。 reducevg /dev/vol_grp disk_name vxdg –g disk_name disk_group –k rmdisk /dev/vol_group LVM VXVM LVM VXVM LVM VXVM LVM VXVM LVM VXVM LVM VXVM mklv /dev/vol_grp vxassist make vol_name length vxassist make vol_name layout=mirror,stripe vxassist make vol_name layout=raid5 lslv /dev/lvol_name vxprint –vt vxprint –ht vol_name lsvg /dev/vol_grp vxdisk list vxprint –g disk_group vxdg list vxdisk list disk_group lspv disk_name vxinfo 或 vxprint rmlv /dev/vol_name length length LVM VXVM LVM VXVM LVM VXVM LVM 显示物理卷信息 显示卷管理器卷的信息 删除逻辑卷 VXVM LVM VXVM 删除卷 从卷组删除磁盘或减少卷组中磁盘的数量 从磁盘组删除磁盘 vxedit rm vol_name reducevg /dev/vol_grp diskname vxdisk rm disk_group vxdg rmdisk disk_name vxdg –g group_name rmdisk disk_name LVM 删除整个卷组。在尝试删除卷组前,reducevg /dev/vol_grp last_disk 必须使用lvremove删除逻辑卷,并且使用reducevg 删除所有的物理卷直到最后一个物理卷。 导出磁盘组。在导出磁盘组之前必须先卸载并且停止磁盘组中的所有卷。 对物理卷设置可替换链接。 如果磁盘有2个控制器,你可以让1个为主控制器另一个为备用链接。 多路径磁盘设备在卷管理器中表现为使用1个或多个物理路径访问特定物理磁盘的虚拟设备。动态多路径在路径失败时通过动态切换到其他物理路径提供磁盘访问的可靠性。 创建镜像逻辑卷 创建镜像卷/plex或添加镜像到已存在卷 减少1个/2个镜像卷为非镜像逻辑卷 vxdg deport disk_group VXVM LVM mkvg /dev/vol_grp disk_name2 reducevg /dev/dsk/disk_name disk_name /dev/vol_grp VXVM DMP功能在VXVM中是自动设置链接的。不需要单独设置链接。 更多DMP的信息参考man手册vxdmp(7)和veritas volume manager administrator’s guide。 mklv –c 2 vgmirror hdisk1 hdisk2 vxassist make layout=mirror vol_name length LVM VXVM LVM VXVM LVM VXVM LVM VXVM LVM VXVM LVM VXVM LVM VXVM rmlvcopy mirr_lv rmlv /dev/vol_grp/mirr_lv 删除镜像或减少plex/镜像的个数。 vxplex –o rm dis plex_name vxedit –rf rm vol_name 删除卷和与它相关的plex。 增加镜像拷贝数 增加镜像到卷或增加plex数 转换镜像逻辑卷为2个逻辑卷 快照卷并且创建新卷 从一个磁盘到另一个磁盘移动镜像的逻辑卷 移动plex 同步被镜像的逻辑卷。 在被镜像的逻辑卷上同步分区。 指定卷的重新同步操作 同步卷组中被镜像逻辑卷中的分区 命名卷的重新同步操作,或命名磁盘上卷的重新同步操作。 extendlv –m 2 /dev/vol_grp/vol_name vxassist mirror vol_name splitvcopy lvol 2 hdisk1 vxassist snapshot new_vol_name 使用migratepv命令 vxplex mv orig_plex new_plex syncvg –l lvol_name vxvol resync syncvg /dev/vol_grp vxrecover –s vol_name vol_name
如果没有指定磁盘或卷,那么操作应用到所有的卷。 LVM VXVM LVM VXVM 启动卷 启动卷 停止卷 停止卷 使用varyonvg命令 vxrecover –s vol_name vxvol start vol_name 使用varyoffvg命令 vxvol stop vol_name
没有直接和LVM等同的任务 任务描述 热重定位指定一个磁盘作为热重定位备份,并且允许系统自动通过重定位到其他磁盘上的子磁盘对I/O失败反应。vxunreloc工具可以被用来恢复系统到磁盘失效前存在的相同配置。 重命名磁盘 磁盘脱机 磁盘联机 迁移磁盘 替换磁盘 恢复磁盘上的卷 显示DMP节点 重命名磁盘组 重命名卷 为DRL或即时快照准备卷 创建完整空间即时快照卷拷贝 创建空间优化即时快照卷拷贝 恢复卷 修复镜像 关闭镜像 从卷删除日志 移动子磁盘 使用shrinkto 或shrinkby参数减少分配给逻辑卷的磁盘空间。注:在缩减文件系统之前确保缩减卷。 示例 vxedit set spare=on disk_name 可以使用vxdiskadm 菜单项12执行这个任务。 vxedit rename old_diskname new_diskname vxdisk offline disk_name 使用vxdiskadm菜单项12执行这个任务。 vxdisk online disk_name 选择vxdiskadm菜单项10 vxevac –g disk_group new_medianame 选择vxdiskadm的菜单项4 。 vxrecover –g medianame disk_group vol_name medianame vxdisk list meta_device vxdg –tC –n newdg_name vxedit –v rename name newname 使用新名称更新/etc/filesystems文件。 vxsnap prepare vol_name vxsnap make /snapvol=temp_vol_name source=vol_name vxsnap make source=vol_name /newvol=temp_vol_name/cache=cache_object vxrecover –g disk_group volume medianame vxplex att plex_name vxplex det plex_name vxassist remove log vol_name vxsd mv old_subdisk new_subdisk vxassist shrinkto vol_name new_size 从磁盘组删除一个或多个卷 从源卷刷新立即快照的内容 重链接完整空间即时快照的plex 移动磁盘上的卷 移动子磁盘上的内容到新的子磁盘并且对于任何关联使用新的子磁盘取代旧子磁盘
vxedit –rf rm vol_name vxassist remove volume vol_name vxsnap refresh source=vol_name vxsnap reattach source=vol_name snap_volume snap_volume vxevac 使用vxdiskadm菜单项7移动卷 vxsd mv 系统管理接口工具(SMIT)
启动SMIT $ smit vxvm
在这个菜单,你可以在VXVM组件上执行管理任务,包括:
? 在VXVM磁盘组上操作(list/add/remove/modify/import/deport) ? 在VXVM卷上操作(list/add/remove/change/snapshot) ? 可通过vxdiskadm命令完成操作的一个子集 ? 改变VXVM可调参数 ? 复制任务
在SMIT中管理磁盘组
列出磁盘组,选择Disk Groups ? List AllDisk Groups
在SMIT中管理磁盘设备
要列出系统中的所有磁盘,选择VxVM Disk Administrator ? List all disks in the system ,输出如下图。当在系统上安装了VXVM后,SMIT包含一个“STATUS”列来表示磁盘是在LVM还是VXVM的控制下,或者是没有使用。如果VXVM磁盘联机并且是磁盘组的一部份,磁盘组的名字被列出在GROUP列。如果VXVM磁盘被初始化,但是还不是磁盘组的一部份,DISK和GROUP列是空的。
在SMIT中管理卷 要列出逻辑卷,选择VxVM Volumes,然后选择List VxVM Volumes in all or specific Disk Groups 。然后会提示输入磁盘组名。
在SMIT中管理VXVM 可调参数
选择Change/Show VxVM Tunables