2013年11月6日星期三

RH436 UNIT 4 MULTIPATHING

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
RH436 UNIT 4 MULTIPATHING  阅读原文»

RH436 UNIT 4 MULTIPATHING

Introduction

Unit Goal

Describe multipathing

Configure dm-multipath

Unit Sections

What is Multipathing?

Configuring Multipathing

Testing Multipathing

Hands-On Activities

Configure Multipathing

Testing Multipathing

Unit Test

Configuring Multipathing

What is Multipathing?

所谓多路径是实现在服务器与磁盘阵列之间配置多条物理连接。多路径的优点有二,其一是在一条路径瘫痪时不会影响连通性,另外可以改善对存储的读写性能。

如下图,服务器有两个HBA,都是独立连接到光纤交换机,每一条连接都连接着磁盘阵列上独立的控制器上。

image

Red Hat Enterprise Linux 6 支持使用dm-multipath,这种方式是使用kernel磁盘映射生成一个虚拟的磁盘设备。通过multipathd的进程和multipath命令进行管理。

必要的binaries,daemons,and kernel modules可以再device-mapper-multipath 包中找到。

安装device-mapper-multipath软件包,配置并启动后,会创建/dev/mapper,多路径的SYMLINK会被创建在其中,名称可以为mpatchN[pM],或者使用WWID,管理员也可以自定义多路径设备的名称。

Important

多路径只是提供接入的冗余,防护连接出现断开。如果存储本身出现问题,即使配置多路径还是无法访问存储。

通过配置文件创建不同的路径连接存储,这些Path会被整合到不同的组中,当一个组为fails状态的时候会跳到另外一个组保证可以正常访问存储。

What is multipathing?

1. Multipathing can provide.. A,B

a. Redundancy in storage access

b. Increased performance

c. Storage redundancy

d. RAID

2. The package that provides multipathing capabilities is called.. C

a. dm-multipath

b. dm-multipathd

c. divice-mapper-multipath

d. multipathd

3. Devices nodes for multipathed storage are normally created under.. C

a. /dev/

b. /dev/multipath/

c. /dev/mapper/

d. /dev/dm-multipath

Configuring Multipathing

配置多路径之前先确保device-mapper-multipath package已安装。

配置两个网卡作为多路径的访问路径。

eth1 Link encap:Ethernet HWaddr 00:0C:29:B3:DE:A4
inet addr:172.16.1.4 Bcast:172.16.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:feb3:dea4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:28 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1756 (1.7 KiB) TX bytes:1000 (1000.0 b)

eth2 Link encap:Ethernet HWaddr 00:0C:29:B3:DE:AE
inet addr:172.16.2.4 Bcast:172.16.2.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:feb3:deae/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:13 errors:0 dropped:0 overruns:0 frame:0
TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:780 (780.0 b) TX bytes:1440 (1.4 KiB)

安装完device-mapper-multipath 软件包之后开始配置multipath的配置文件,最简单的方式是使用mpathconf工具进行配置。

如果已经/etc/multipath.conf已经存在,那么可以直接使用mpathconf进行配置,如果不存在,可以再/usr/share/doc/device-mapper-multipath-*下面找到multipath.conf的模板。也可以通过mpathconf命令创建默认模板。

创建默认配置,启动和激活multipathd进程,可以使用以下命令。

mpathconf --enable --with_multipathd y --with_chkconfig y

--enable
Removes any line that blacklists all device nodes from the /etc/multipath.conf blacklist section.

--with_multipathd { y | n }
If set to y, this runs service multipathd start to start the multipathd daemon on --enable, service mul-
tipathd stop to start the multipathd daemon on --disable, and service multipathd reload to reconfigure
multipathd on --user_frindly_names and --find_multipaths. This option is set to n by default.

添加此参数会使用service multipathd start启动multipathd服务,前提是参数为y ,如果为n则为停止服务,默认为n。

--with_chkconfig { y | n }
If set to y, this runs chkconfig multipathd on to set multipathd to start automatically on --enable and
chkconfig multipathd off to stop multipathd for starting automatically on --disable. This option is set
to y by default.

如果为y,则执行chkconfig multipathd on设置开机启动,如果为n则为off关闭开机启动,默认为y。

Note

关于�user_friendly_names 参数,如果设置为y,则使用友好名称作为多路径磁盘的名称,如果设置为n,则为使用WWID作为SYMLINK的名称。使用mpathconf user_friendly_names y|n 进行设置,通过此命令会直接修改配置文件。

[root@node1 nodes]# mpathconf --user_friendly_names n

## Use user friendly names, instead of using WWIDs as names.
defaults {
user_friendly_names no
}
##

Disk /dev/mapper/1IET\x20\x20\x20\x20\x2000010001: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00001618

Device Boot Start End Blocks Id System

如果设置为y ,重启后结果为

Disk /dev/mapper/mpatha: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00001618

Device Boot Start End Blocks Id System

The multipath.conf Configuration File

在multipath.conf配置文件中包含以下5部分内容

自动化运维工具Puppet在实际工作中的注意事项  阅读原文»

自动化运维工具Puppet在实际工作中的注意事项

Puppet在不同平台上的安装方法不一样,个人不是特别推荐用源码的方式,推荐使用yum和apt-get,因为既然用到了puppet环境,说明应用场景的机器数量还是很多的,yum和apt-get更为方便。很多朋友比较关心puppet master和puppet agent端的版本不一致的问题,其实就一个规则就行:puppet master的版本号是必须高于puppet agent的,二者的版本不要相差太远,差太远了就容易连接不上。

Puppet对时间要求是非常严格的,这是因为证书申请是通过SSL连接,而SSL连接依赖主机上的正确时间,如果时间不正确,得到的错误信息而导致证书申请失败,所以我们在puppet client连接puppet

master时都应该通过ntpdate命令来自动对时,如果Xen虚拟机要加入puppet环境,建议也要修改sysctrl内核,然后再通过ntpdate命令来自动对时,详见:http://andrewyu.blog.51cto.com/1604432/1301516

定义(define)在puppet的官方文档里是没有这一说法的,我们可以理解为资源的组合容器,很多资料和文档将其翻译成函数,这里是错误的;puppet的函数是puppet master上运行的,并且也只能在puppet master上面运行,比如包含类和模块的include指令,我们将其称之为puppet的函数,函数和定义还是有区别的。

在模块中定义的类要跟模块同名的,比如nginx模块中定义的类起名也要为nginx,不然puppet客户端连接puppet服务器时会报报不到class的错误,模块可以由多个类来组成,我们可以使用::命名空间语法作为在模块中创建结构和组织的一种方法,比如nginx::install,nginx::config。

自动化运维工具puppet的工作流程、基础概念及入门学习资料见附件。

本文出自 "抚琴煮酒" 博客,请务必保留此出处http://andrewyu.blog.51cto.com/1604432/1320509

分享至 一键收藏,随时查看,分享好友!
昵称:
登录快速注册
内容:
请输入验证码:

阅读更多内容

没有评论:

发表评论