chaos

想忘与不想忘的,找个归处

基于 LVM 的磁盘扩容一般分为 2 种情况:

  1. 通过添加新的硬盘到卷组
  2. 扩容现有的磁盘空间。(比如原逻辑磁盘为 3T,现在扩容为 5T)

对于第一种情况,对每一个,新添加的硬盘创建 PV,并将新建的 PV 加入到 VG,然后对 LV 做扩容,最后对文件系统做扩容。大致过程如下:

1
2
3
4
5
6
7
8
//将硬盘转为 PV 格式,以便 LVM 使用(推荐使用全盘的分区,而不是整个硬盘)
pvcreate /dev/sd{b1,c1,d1}
//将新硬盘添加到卷组(vg_db)
vgextend vg_db /dev/sd{b1,c1,d1}
//扩容指定的 LV
lvextend -L + 200G /dev/vg_db/data
//扩容文件系统(只针对 xfs 文件系统)
xfs_growfs /dev/vg_db/data

对于第二种情况,将剩余空间加入到最后一个分区,扩容 PV,扩容 LV,最后文件系统扩容。过程如下:

阅读全文 »

1.端口种类
设备侧端口类型:主要指和交换机相连的终端设备
N_Port:点对点模式的端口(用与和交换机连接)
NL_Port:仲裁环模式的端口(两个终端设备之间直连:如存储与服务器直连)


交换机常用端口类型:
F_Port:一种交换连接端口,用于连接两个 N_port
E_Port:扩展端口,用于和其它交换机建立互联的端口
G_Port:通用端口,并非端口的最终状态,根据连接的方式可在 F_Port 和 E_Port 之间进行切换


2.ZONE
zone 是存储交换机中一种逻辑配置。通过将指定的设备加入 zone,从而允许 zone 内设备之间互相通信。默认没有 zone 配置,设备之间都可以互相通信(不推荐如此使用,会有性能影响,也无法做定制化的管理)
zone 的实现方式有2种,一种称为硬 zone 一种为软 zone
硬 zone 基于 Domain ID 与端口号与终端配对,即使终端上的设备改变也不会影响 zone 的使用。例如更换主机的 hba 卡,交换机上无需做任何更改,但如果更换交换机端口需要更改配置
软 zone 基于终端的 wwpn / wwnn 号来配对,不关心设备接到交换机的那个端口上。当设备从一个端口移动到另一个端口时,不需要进行任何更改。但如果主机更换 hba 卡,需根据新卡的 wwn 号来更改配置。(如果有启用 NPIV 的主机,只能使用软 zone)

阅读全文 »

SSH端口转发的作用

  1. 对未加密的数据,加密传输
  2. 作为跳板机,绕过防火墙

SSH端口转发的分类:本地转发,远程转发,动态转发。分别如下。

  1. 本地转发

本地转发指的是,将 SSH 服务当做一个跳板机(tunnel-host),把本地指定端口的流量
都通过跳板机发送到特定的目标上

阅读全文 »

当有多余的 VCSA 想要取消链接模式的时候可以使用以下方法:(适用于7.0版本)

  1. 使用 SSH 连接到 Platform Services Controller
  2. 创建包含已在 Platform Services Controller 中注册的服务的列表的文本文件
1
/usr/lib/vmware-lookupsvc/tools/lstool.py list --url http://localhost:7090/lookupservice/sdk --type vcenterserver > /tmp/psc_services.txt --no-check-cert
  1. 打开生成的文件,查找需要删除的 VCSA 的 URL 地址,对应的 Service ID
    文件中,会看到类似以下内容的输出
1
2
3
4
5
6
7
8
9
10
11
12
13
Name: AboutInfo.vpx.name
Description: AboutInfo.vpx.name
Service Product: com.vmware.cis
Service Type: vcenterserver
Service ID: 1dbc3e9f-626d-4314-8731-ca744a0d9f4b
Site ID: home
Node ID: d3eba55a-d4df-11e4-b3f7-000c2987c143
Owner ID: vpxd-2752b8d1-e68b-49f8-8c92-ce3f042bf487@vsphere.local
Version: 6.0
Endpoints:
Type: com.vmware.cis.workflow
Protocol: vmomi
URL: http://vcsa2.domain.local:8088
阅读全文 »

启用多路径,添加内核模块到 /boot/loader.conf 文件

1
geom_multipath_load="YES"

简单使用方法
手动方法

1
gmultipath create -Av name /dev/da1 /dev/da2 ...

自动方法

阅读全文 »

启用 lagg ,编辑 /boot/loader.conf 文件添加以下行

1
if_lagg_load="YES"

支持的聚合协议类型:
failover:只通过活动端口发送流量。如果主端口变为不可用,使下一个端口变为活动。第一个添加的接口为主接口, 任何之后添加的接口为失效转移设备。 默认只接受活动端口的流量,可以通过 sysctl 设置 net.link.lagg.failover_rx_all 变量为一个非零值来改变此限制
lacp:支持IEEE 802.1AX 链路聚合控制协议与标记协议。链路聚合组(LAG)由相同速率的端口组成,且设置为全双工。流量在端口组内平衡
loadbalance:根据散列协议头信息平衡活动端口上的传出流量,并接受来自任何活动端口的传入流量。此为静态设置,不会监视链路状态。散列包括 MAC 源和目标地址,以及VLAN标记(如果可用)以及IP源和目标地址
roundrobin:循环调度输出流量通过所有活动端口,接受任何活动端口的输入流量。使用 roundrobin 模式可能导致无序数据包到达客户端
broadcast:将帧发送到 LAG 的所有端口,并在 LAG 的任何端口上接收帧
none:什么也不做,禁用任何流量,而不会禁用lagg接口本身

配置 lagg

1
2
ifconfig lagg0 create
ifconfig lagg0 laggproto failover laggport em0 laggport em1 192.168.x.x netmask 255.255.255.0
阅读全文 »

/etc/fstab 配置文件用以永久的挂载文件系统,文件中的每行定义一个文件系统的挂载点。它包含六个字段,用空格分隔:
1.由 UUID 或磁盘标签或 /dev 目录的路径识别的块设备
2.挂载该设备的目录
3.该设备的文件系统
4.文件系统的挂载选项。
5.dump 工具的备份选项,0为不备份
6.fsck 工具的检查顺序,0为不检查,1提供给根分区,其它分区为2,表示检查
例如:

块设备 挂载点 文件系统 选项 backup 检查
/dev/sda1 /boot xfs defaults 0 0

常用挂载选项有:

选项 描述
async 启用异步输入与输出操作
auto 自动挂载文件系统
defaults async,exec,nouser,rw,suid,dev,auto的别名
exec 允许在特定文件系统中执行程序
loop 将镜像挂载为 loop 设备
noauto 开机不自动挂载
noexec 不允许执行程序
nouser 不允许普通用户挂载和卸载文件系统
ro 只读的方式挂载
rw 以读写的方式挂载
user 允许普通用户挂载和卸载文件系统
nosuid 不允许有 suid 属性
_netdev 系统联网后在挂载

挂载示例:

阅读全文 »

1自动执行过程
当系统检测到硬盘故障时,会将其标记为 degraded 状态。默然情况下,系统会自动发起 servicemag start 进程,将坏盘的数据重构到热备空间。在重构过程中,使用 showpd -s 可以看到正在 relocating,重构结束后,硬盘被标记为failed。此时换上新的硬盘,系统自动发起 servicemag resume 进程,将坏盘的数据回迁到新的硬盘
2手动执行
当系统没有自动执行 servicemag start 或者状态显示正常,但有存在风险的硬盘需要替换时,需要手动执行。过程如下:

  1. 使用 showpd -s 命令验证磁盘状态
  2. 使用 servicemag status -d 验证系统是否自动发起 servicemag start 进程及数据是否迁移完成,如果没有发起start进程,手动执行
  3. 更换硬盘
  4. 使用 servicemag status -d 验证系统是否自动发起 servicemag resume 进程及数据是否回迁完成,如果没有,手动执行
  5. 数据回迁结束后,使用 dismisspd <pdid> 清除坏盘的 pdid

LVM 是物理硬盘与文件系统之间添加的一个抽象层,用以屏蔽下层的硬盘布局,使得文件系统突破单个硬盘的限制。文件系统不在是对单个物理硬盘直接操作,而是通过逻辑卷,使得文件系统可以跨越多个物理硬盘。
使用 lvm 时有些基本术语需要知道:
pv 物理卷 (physical volume):lvm 的基本存储块设备,一个分区或整个磁盘都可以
vg 卷组 (volume group):一个或多个 pv 组成的存储池
lv 逻辑卷 (logical volume):从 vg 中分配的存储空间,用以给文件系统使用
pe 物理块 (physical extent):物理卷(pv)中可分配的最小存储单元,pe 的默认值为 4MB
le 逻辑块 (logical extent):逻辑卷中用于分配的最小存储单元,逻辑块的大小取决于逻辑卷所在卷组中的物理块大小。
架构可以参考如下图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
graph BT
subgraph PV1
物理块1 --> 物理卷1;
物理块2 --> 物理卷1;
物理块N --> 物理卷1;
end
subgraph PV2
物理块2.1 --> 物理卷2;
物理块2.2 --> 物理卷2;
物理块2.N --> 物理卷2;
end
subgraph PVN
物理块N.1 --> 物理卷N;
物理块N.2 --> 物理卷N;
物理块N.N --> 物理卷N;
end
物理卷1 --> id1[(卷组)];
物理卷2 --> id1[(卷组)];
物理卷N --> id1[(卷组)];
id1[(卷组)] --> 逻辑卷1;
id1[(卷组)] --> 逻辑卷2;
id1[(卷组)] --> 逻辑卷N;

lvm卷的创建可以使用整个硬盘也可以使用分区,使用整个硬盘直接使用 pvcreate 命令即可,使用分区需使用 parted 先分好区。推荐使用分区,因为直接使用整个硬盘,一些磁盘工具会识别不了,当其他人维护时可能出错。比如:使用整盘以及分区时 fdisk 的显示如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@localhost ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

\\使用分区时
[root@localhost ~]# fdisk -l /dev/sdd
Disk /dev/sdd: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 276769D6-D89F-4015-B3EC-BD3D2F3DE059

Device Start End Sectors Size Type
/dev/sdd1 2048 20969471 20967424 10G Linux LVM

使用分区时可以清晰的看出磁盘类型为 lvm 的。以及在一些 lvm + raid 的使用中,当更换 raid 中某块损坏的硬盘时,新盘必须大于或等于损坏的硬盘,否则无法完成重建的过程。但即使同一厂商相同型号的硬盘有时容量上也会有细微差别。通过在磁盘末尾保留一部分空间,可以消除磁盘容量上的细微差异。
使用 parted 格式化磁盘如下

阅读全文 »

当存储与服务器映射时,一个存储上的卷可以有多条 I/O 路径。在操作系统上看就会有多个硬盘,但这些硬盘实际指向的是同一个卷。配置多路径软件会将这些 I/O 路径聚合,并生成由聚合路径组成的新设备,以提供冗余(主备模式)或改进的性能(轮询模式)
当被多路径控制的新设备,会在 /dev/mapper 和 /dev/ 目录中生成这些设备。所有格式为 /dev/dm-x 的设备都仅用于内部使用,管理员不应直接使用。每个多路径设备都有一个全球标识符(WWID),默认情况下会将多路径的设备名设为它的 WWID。可以通过修改配置文件的 user_friendly_names 选项,将设备别名设置为 mpath-n 的节点名称
配置文件概述
多路径配置文件可包含以下部分,并不是每个部分都需要
黑名单(blacklist)
不做为多路径的设备列表
blacklist_exceptions
根据 blacklist 部分的参数,列出不在黑名单中的多路径设备
defaults
DM 多路径的常规默认配置
multipaths
各独立多路径设备的特性设置。这些数值覆盖了配置文件中的 defaults 和 devices 中指定的数值
devices
各个存储控制器的设置。覆盖了配置文件中 defaults 部分指定的数值。如果要使用不是默认支持的存储阵列,则可能需要创建 devices 子部分。

多路径配置设置

属性 描述
polling_interval 以秒为单位指定两次路径检查之间的间隔。
对正常工作的路径,两次检查的间隔会逐渐
增加到 polling_interval 的四倍。
find_multipaths 定义设置多路径的方法。如果设置为 yes,
DM 将不会尝试为未列入黑名单的每条路径
创建设备。相反,只有满足以下三个条件之一时,多路径才会创建设备:
1.不在黑名单的两个路径的 wwid 相同
2.使用 multipath 命令强制创建
3.一个路径的 wwid 与之前已经创建的多路径设备相同
path_selector 决定下一个 I/O 操作所使用路径的算法。可能的取值包括:
round-robin 0:循环每个路径,向每个路径发送同样数量的 I/O。此为默认值
queue-lenght 0:将下一组 I/O 发送到具有最少未处理 I/O 请求的路径
service-time 0:将下一组 I/O 发送到具有最短预计服务时间的路径,这是由未处理 I/O 的总量除以每个路径的相对流量决定的
path_grouping_policy 路径冗余策略,可能的值包括:
failover:在一个设备组中,只有一条路径有优先权
multibus:所有有效路径具有相同优先级
prio 路径优先级获取方法,可能的取值:
const:所有路径优先级为 1
emc:为 emc 阵列生成优先权
alua:根据 SCSI-3 ALUA 设置生成优先级,在较新的系统中推荐设置为 alua
ontap:为 NETAPP 生成优先级
path_checker 检测路径状态的方法,可能的取值:
readsector0:读取设备的第一扇区
tur:在设备中执行 TEST UNIT READY 命令
directio:直接 I/O 的方式检查链路状态。此为默认方式
failback 故障恢复的方法,可能的取值:
immediate:从高优先级的路径中选择一条
manual:手动恢复
followover:当故障路径恢复活跃时自动恢复
rr_min_io_rq 使用 request-based DM 指定切换到当前路径组中
下一个路径前路由到该路径的 I/O 请求数。
默认值为 1
rr_weight 路径的权重,默认值为 uniform 所有路径权重相同
no_path_retry 指定系统在禁用系统队列前,
尝试使用失败路径的次数,可能的取值:
fail:立即失败,无需排队
queue:在路径固定前一直排队
默认值为:0
user_friendly_names 如果设为 yes,即指定系统使用 /etc/multipath/bindings
为该多路径分配一个持久且唯一的别名,格式为 mpath-n。
如果设置为 no,则使用 wwid 为路径别名
max_fds multipath 及 multipathd 可打开的最大文件描述符数

安装及使用

1
2
3
4
5
6
7
dnf install device-mapper-multipath \\安装多路径软
modprobe dm-multipath \\安装多路径模块
modprobe dm-round-robin \\安装负载均衡模块
mpathconf --enable \\生成配置文件,默认在 /etc/multipath.conf
systemctl start multipathd \\启动多路径服务
systemctl enable multipathd \\开机自启动多路径服务
multipath -ll \\查看多路径设备
阅读全文 »
0%