当前位置: 首页 > ds >正文

ASM,LVM,扫描并扩容步骤-linux

见附件资源

变更
说明
服务器扩容(ASM,LVM,扫描并扩容)
阶段序号操作内容/目的执行用户名详细步骤描述
(细化到命令行)
准备
阶段
1确认服务器登录正确(ip及主机名)roothostname
ip a
2查看系统目前LVM信息rootdf -h   系统分区挂载信息
pvs   pv信息
vgs   vg信息
lvs   lv信息
3新建挂载目录rootmkdir /backup1
4
结论或建议确认各状态正常
1存储组操作分盘存储组操作分盘
1linux系统扫盘root/opt/DynamicLinkManager/bin/dlnkmgr view -path(需要查的路径)
等待存储划分后,执行以下操作
echo "- - -" > /sys/class/scsi_host/host*/scan
/sys/class/scsi_host/host*/scan
/sys 是 Linux 的系统设备树,包含所有硬件设备的虚拟文件。
host* 是通配符,表示所有 SCSI 主机适配器(如 host0、host1 等)。
scan 是一个特殊文件,向其写入特定内容可触发 SCSI 总线扫描。
echo "- - -"
向 scan 文件写入三个连字符 - - -,分别代表:
第一个 -:扫描所有总线段(bus)。
第二个 -:扫描总线上的所有目标设备(target)。
第三个 -:扫描设备上的所有逻辑单元(LUN)。
dlnkmgr:动态链接管理器的命令行工具,通常用于管理系统中的动态链接库(.so 文件)或自定义链接关系。
view:命令子选项,用于查看链接信息。
-path:参数标识,用于指定需要查询的路径。
(lu):此处可能是路径的占位符(如 lu 为具体路径的缩写或示例),实际使用时需替换为真实路径(如 /usr/lib、/opt/app/lib 等)。
SYMLINK+="asm-[DISKNAME]"
在 /dev 目录下创建符号链接(如 /dev/asm-data1),指向实际设备(如 /dev/sddl1)。
+ 表示追加,避免覆盖其他规则的符号链接。
OWNER="grid", GROUP="asmadmin"
设置设备文件的所有者为 grid 用户,所属组为 asmadmin 组(典型的 Oracle ASM 配置)。
MODE="0660"
设置设备文件权限为 0660(即所有者和组用户可读可写,其他用户无权限)。
实施阶段2查看新磁盘和链路聚合后的名称root/opt/DynamicLinkManager/bin/dlnkmgr view -path(lu)
dlmcfgmgr -r  未正常聚合时执行
dlmcfgmgr:Dynamic Link Manager 的配置工具,用于管理动态链接库(.so 文件)的配置和路径映射。
-r:参数选项,通常表示 reload(重新加载) 或 reset(重置) 配置。具体含义取决于工具实现,常见场景包括:
重新加载配置文件:使新的链接路径或规则生效。
重置链接缓存:清除过时的链接信息,重新索引库文件。
恢复默认设置:将配置恢复到初始状态。
3添加udev绑定root备份文件 cp /etc/udev/rules.d/99-oracle-*.rules /etc/udev/rules.d/bak99-oracle-*.rules
编辑文件 99-oracle-*.rules ,添加以下内容,DISK ID 从上一步查看聚合时获取
KERNEL=="sddl*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="[DISK ID]", SYMLINK+="asm-[DISKNAME]", OWNER="grid", GROUP="asmadmin", MODE="0660"
这条命令用于备份 Oracle 相关的 udev 规则文件,以防止在系统更新或手动修改时意外丢失配置
udev 规则文件
/etc/udev/rules.d/:Linux 系统中 udev 规则文件的存放目录,用于管理硬件设备的命名、权限等。
99-oracle-*.rules:Oracle 数据库安装时创建的规则文件(如磁盘别名、权限设置),* 是通配符,表示匹配任意字符。
KERNEL=="sddl*"
匹配内核设备名称以 sddl 开头的设备(如 /dev/sddl1、/dev/sddl2)。
SUBSYSTEM=="block"
匹配块设备子系统(如硬盘、分区)。
PROGRAM=="/usr/lib/udev/scsi_id..."
执行外部程序 scsi_id 获取设备的 SCSI 标识(全球唯一标识符)。
--whitelisted:仅显示列入白名单的 ID。
--replace-whitespace:将空格替换为下划线。
--device=/dev/$name:对当前设备($name 为设备名,如 sddl1)执行命令。
RESULT=="[DISK ID]"
仅当 scsi_id 命令的输出(设备 ID)等于 [DISK ID] 时触发规则。实际使用时需替换为具体的磁盘 ID(如 36001405f8b4a2a3c0001a8c0000a0e)。
4重新加载udev生效rootudevadm control --reload-rules
udevadm trigger --type=devices --action=change
ls -l /dev/asm*    查看asm盘绑定情况
udevadm
Linux 系统中用于管理和控制 udev 子系统的命令行工具。
control
udevadm 的子命令,用于向 udev 守护进程发送控制指令。
--reload-rules
参数选项,指示 udev 重新加载 /etc/udev/rules.d/ 和 /lib/udev/rules.d/ 目录下的所有规则文件。
udevadm trigger --type=devices --action=change 是 Linux 系统中用于强制触发 udev 规则重新应用的命令。
udevadm trigger
向 udev 子系统发送事件,强制其重新处理设备并应用最新规则。
--type=devices
指定触发事件的对象类型为 设备节点(即 /sys 目录下的设备)。其他可能的类型包括 subsystems(子系统)和 drivers(驱动)。
--action=change
指定触发的事件类型为 设备变更。udev 会模拟每个设备都发生了 "change" 事件,从而触发规则重新执行。
5lv扩容rootpvcreate /dev/sddlm*     新加硬盘创建PV;
vgcreate datavg01 /dev/sddlm*        新建数据VG,添加新建PV;
lvcreate -l 100%FREE -n lvbackup1 datavg01      在VG中新建backup1逻辑卷;
mkfs.ext4 /dev/datavg01/lvbackup1        格式化新建逻辑卷
参数-l 100%FREE
-l:指定逻辑卷的大小,单位为 PE(Physical Extent,物理扩展块)。
100%FREE:使用卷组(VG)中所有剩余的空闲空间。例如,若卷组 datavg01 剩余 100GB 空间,逻辑卷将被分配 100GB。
-n lvbackup1
-n:指定逻辑卷的名称。
lvbackup1:新创建的逻辑卷名称,最终路径为 /dev/datavg01/lvbackup1。
6修改配置文件并测试rootvi /etc/fstab,增加如下内容:
/dev/datavg01/lvbackup1  /backup1  ext4 defaults 0 0
mount -a         挂载分区
df -h          查看挂载情况,验证扩容操作
7修改目录权限rootchown -R oracle:oinstall /backup1
chmod 775 /backup1
8
9
结论或建议系统配置完毕,验证系统是否正常。
验证
阶段
1技术验证资源检查、系统/DB的错误日志检查、必要的高可用验证、其他与变更有关的健康检查和验证
2业务验证通知应用验证
3
结论或建议
回退阶段1恢复操作前配置的备份文件root恢复实施阶段已备份的文件
cp /etc/udev/rules.d/bak99-oracle-*.rules /etc/udev/rules.d/99-oracle-*.rules
卸载目录rootumount /backup1
2存储组回收并重启服务器root存储组回收已分配存储;
重启服务器
3
4
http://www.xdnf.cn/news/13075.html

相关文章:

  • 什么是双脉冲测试?
  • 【C++】第十一节—一文详解vector(使用+杨辉三角+深度剖析+模拟实现+细节详细补充)
  • 为什么要引入内联函数?
  • Python Selenium登录网易邮箱
  • FastAPI实战起步:从Python环境到你的第一个“Hello World”API接口
  • day 18进行聚类,进而推断出每个簇的实际含义
  • token和md5
  • Spring Boot 完全指南:快速构建企业级应用
  • vue中Echarts的使用
  • 【评测】Qwen3-Embedding模型初体验
  • frida Hook入门
  • [FreeRTOS]1.FreeRTOS基础知识
  • Java处理字符数组转换为开始日期和结束日期
  • 【学习笔记】深入理解Java虚拟机学习笔记——第3章 垃圾收集器与内存分配策略
  • LLMs之MCP:《Evaluation Report on MCP Servers》翻译与解读
  • 『uniapp』自定义隐私政策弹窗 调整颜色和多语言国际化支持超链接 演示本地插件的使用,和一般性的插件自定义(保姆级图文)
  • CppCon 2015 学习:Live Lock-Free or Deadlock
  • AI架构师修炼之道
  • Linux系统编程中的_GNU_SOURCE宏
  • Promise 基础:异步编程的救星
  • 使用idea开发工具创建javaweb项目工程
  • CQF预备知识:Python相关库 -- 傅里叶变换 scipy.fft
  • 第十八章 归档与备份
  • python打卡第48天
  • linux库(AI回答)
  • SpringBoot的5种日志输出规范策略
  • 深入理解 x86 汇编中的符号扩展指令:从 CBW 到 CDQ 的全解析
  • 《光子技术成像技术》第三章 预习2025.6.8
  • 代码审计 BlueCms SQL注入
  • Linux 文件系统底层原理笔记:磁盘结构、ext2 文件系统与软硬链接解析