CentOS下多路径大容量硬盘挂载详解

CentOS下多路径大容量硬盘挂载详解,第1张

一、应用环境及需求 刀片服务器通过光纤交换机连接HP存储,形成了一个2X2的链路。 操作系统为CentOS 64 64位 挂载的存储容量为25T

基于此应用环境,需要解决两个问题:

为保证链路的稳定性及传输性能等,可以使用多路径技术; 挂载的存储硬盘超过了2T,MBR分区格式不能支持,需要使用到GPT分区格式

因为CentOS 64中已经自带了HP存储的驱动,会自动识别出挂载的存储硬盘,否则的话,需要先安装存储驱动。

二、什么是多路径

普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。而到了有光纤组成的SAN环境,或者由iSCSI组成的IPSAN环境,由于主机和存储通过了光纤交换机或者多块网卡及IP来连接,这样的话,就构成了多对多的关系。也就是说,主机到存储可以有多条路径可以选择。主机到存储之间的IO由多条路径可以选择。每个主机到所对应的存储可以经过几条不同的路径,如果是同时使用的话,I/O流量如何分配?其中一条路径坏掉了,如何处理?还有在操作系统的角度来看,每条路径,操作系统会认为是一个实际存在的物理盘,但实际上只是通向同一个物理盘的不同路径而已,这样是在使用的时候,就给用户带来了困惑。多路径软件就是为了解决上面的问题应运而生的。

多路径的主要功能就是和存储设备一起配合实现如下功能:

1故障的切换和恢复

2IO流量的负载均衡

3磁盘的虚拟化

由于多路径软件是需要和存储在一起配合使用的,不同的厂商基于不同的操作系统,都提供了不同的版本。并且有的厂商,软件和硬件也不是一起卖的,如果要使用多路径软件的话,可能还需要向厂商购买license才行。比如EMC公司基于linux下的多路径软件,就需要单独的购买license。好在,RedHat和Suse的26的内核中都自带了免费的多路径软件包,并且可以免费使用,同时也是一个比较通用的包,可以支持大多数存储厂商的设备,即使是一些不是出名的厂商,通过对配置文件进行稍作修改,也是可以支持并运行的很好的。

比较直观的感受是在Linux系统中执行fdisk -l命令,会出现类似/dev/sda1、/dev/sdb1、/dev/sdc1、/dev/sdd1的硬盘。因为总共有四种组合的路径,Linux系统会将每跳链路都认为是挂载了一块硬盘。

三、Linux下multipath介绍

CentOS 64中,默认已经安装了multipath:

[root@localhost ~]# rpm -qa|grep mapper device-mapper-multipath-049-64el6x86_64 device-mapper-event-libs-10277-9el6x86_64 device-mapper-multipath-libs-049-64el6x86_64 device-mapper-persistent-data-014-1el6x86_64 device-mapper-libs-10277-9el6x86_64 device-mapper-event-10277-9el6x86_64 device-mapper-10277-9el6x86_64

device-mapper-multipath:即multipath-tools。主要提供multipathd和multipath等工具和 multipathconf等配置文件。这些工具通过device mapper的ioctr的接口创建和配置multipath设备(调用device-mapper的用户空间库,创建的多路径设备会在/dev /mapper中)。

device-mapper:主要包括两大部分:内核部分和用户部分。

其中内核部分主要由device mapper核心(dmko)和一些target driver(md-multipathko)。核心完成设备的映射,而target根据映射关系和自身特点具体处理从mappered device 下来的i/o。同时,在核心部分,提供了一个接口,用户通过ioctr可和内核部分通信,以指导内核驱动的行为,比如如何创建mappered device,这些divece的属性等。linux device mapper的用户空间部分主要包括device-mapper这个包。其中包括dmsetup工具和一些帮助创建和配置mappered device的库。这些库主要抽象,封装了与ioctr通信的接口,以便方便创建和配置mappered device。multipath-tool的程序中就需要调用这些库。

dm-multipathko和dmko:dmko是device mapper驱动。它是实现multipath的基础。dm-multipath其实是dm的一个target驱动。

scsi_id: 包含在udev程序包中,可以在multipathconf中配置该程序来获取scsi设备的序号。通过序号,便可以判断多个路径对应了同一设备。这个是多路径实现的关键。scsi_id是通过sg驱动,向设备发送EVPD page80或page83 的inquery命令来查询scsi设备的标识。但一些设备并不支持EVPD 的inquery命令,所以他们无法被用来生成multipath设备。但可以改写scsi_id,为不能提供scsi设备标识的设备虚拟一个标识符,并输出到标准输出。multipath程序在创建multipath设备时,会调用scsi_id,从其标准输出中获得该设备的scsi id。在改写时,需要修改scsi_id程序的返回值为0。因为在multipath程序中,会检查该直来确定scsi id是否已经成功得到。

四、配置multipath

基本配置脚本如下:

[root@localhost ~]# cat /etc/multipathconf defaults { polling_interval 30 failback immediate no_path_retry queue rr_min_io 100 path_checker tur user_friendly_names yes } # SVC device { vendor IBM product 2145 path_grouping_policy group_by_prio prio_callout /sbin/mpath_prio_alua /dev/%n }

multipath基本操作命令

# /etc/initd/multipathd start #开启mulitipath服务 # multipath -F #删除现有路径 # multipath -v2 #格式化路径 # multipath -ll #查看多路径

如果配置正确的话就会在/dev/mapper/目录下多出mpathbp1等之类的设备,用fdisk -l命令可以看到多路径软件创建的磁盘,如:/dev/mapper/mpathbp1

五、格式化硬盘

执行fdisk -l,可以看到存储已经识别成功,并且多路径配置也正确。信息如下:

[root@localhost ~]# fdisk -l Disk /dev/mapper/mpathb: 26844 GB, 2684354560000 bytes 255 heads, 63 sectors/track, 326354 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: 0x00000000 Device Boot Start End Blocks Id System /dev/mapper/mpathbp1 1 267350 2147483647+ ee GPT

通过上面的信息可以发现已经是GPT的分区格式了,接下来就是需要对硬盘进行格式化。如果不是,需要先执行如下步骤:

1 新建分区

[root@localhost ~]# pvcreate /dev/mapper/mpathb [root@localhost ~]# parted /dev/mapper/mpathb GNU Parted 21 Using /dev/mapper/mpathbp1 Welcome to GNU Parted! Type 'help' to view a list of commands (parted) mklabel gpt #设置分区类型为gpt (parted) mkpart extended 0% 100% #扩展分区,并使用整个硬盘 (parted) quit #退出 Information: You may need to update /etc/fstab

2 格式化挂载硬盘

[root@localhost ~]# mkfsext4 /dev/mapper/mpathbp1 [root@localhost ~]# mount /dev/mapper/mpathbp1 /test

挂载成功后,即可使用了。

3 动挂载分区

当在系统里创建了一个新的分区后,因为mount挂载在重启系统后会失效,所以需要将分区信息写到/etc/fstab文件中让其永久挂载。

[root@localhost ~]# vi /etc/fstab /dev/mapper/mpathbp1 /test ext4 defaults 1 2

保存退出,重启后/dev/mapper/mpathbp1 就会自动挂载到/test 目录下

说明:

截止目前CentOS 6x最新版本为CentOS 65,下面介绍CentOS 65的具体安装配置过程

服务器相关设置如下:

操作系统:CentOS 65 64位

IP地址:19216821129

网关:192168212

DNS:8888  8844

备注:

CentOS 65系统镜像有32位和64位两个版本,生产服务器如果是大内存(4G以上内存)

建议安装64位版本CentOS-65-x86_64-bin-DVD1iso

附:CentOS 65下载地址

32位:

http://mirrorcentosorg/centos/65/isos/i386/CentOS-65-i386-bin-DVD1to2torrent

64位:

http://mirrorcentosorg/centos/65/isos/x86_64/CentOS-65-x86_64-bin-DVD1to2torrent

1、CentOS 65系统镜像有两个,安装系统只用到第一个镜,即CentOS-65-i386-bin-DVD1iso(32位)或者CentOS-65-x86_64-bin-DVD1iso(64位),第二个镜像是系统自带软件安装包;

2、安装CentOS 65系统的计算机内存必须等于或者大于628M(最小内存628M),才能启用图形安装模式;

3、CentOS 65文本安装模式不支持自定义分区,建议使用图形安装模式安装;

4、CentOS 65的系统安装方式分为:图形安装模式和文本安装模式;

5、CentOS 65的系统运行方式分为:带图形界面、可以用鼠标操作的图形化方式和不带图形界面、直接用命令行操作的文本方式(具体的系统运行方式,可以在系统安装的过程中自定义选择);

一、安装CentOS 65

用光盘成功引导系统,会出现下面的界面

界面说明:

Install or upgrade an existing system 安装或升级现有的系统

install system with basic video driver 安装过程中采用 基本的显卡驱动

Rescue installed system 进入系统修复模式

Boot from local drive 退出安装从硬盘启动

Memory test 内存检测

这里选择第一项,安装或升级现有的系统,回车。

出现是否对CD媒体进行测试的提问,这里选择“Skip”跳过测试。

出现下面的界面

Next

选择语言为:English(English) #生产服务器建议安装英文版本

Next

键盘选择为:USEnglish

Next

选择第一项,基本存储设备

Next

选择第一项:Yes,忽略所有数据

Next

设置主机名,这里默认即可,安装完成之后再修改

Next

时区选择:Etc/GMT +8 北京时区

"System clock user UTC" 前面打勾,使用UTC时间

设置root密码

Next

注意:如果你使用的密码过于简单,系统会自动提示:您的密码不够安全,过于简单化/系统化

这里选择“Use Anyway" 无论如何都使用

生产环境必须设置强壮复杂的密码

Next

选择最后一项,Create Custom Layout 创建自定义分区

Next

可以看到硬盘的容量,我这里显示的是25G,现在自定义分区。

注意:分区之前,自己先要规划好,怎么分区

我这里的分区如下:

硬盘总共25G

/boot  #128M

/   #剩余所有空间

特别说明:

用于正式生产的服务器,切记必须把数据盘单独分区,防止系统出问题时,保证数据的完整性。比如可以再划分一个

/data专门用来存放数据。

这里没有划分swap分区,对于大内存服务器,可以不用设置swap分区,或者在确定系统需要使用的内存大小后,

再增加swap

选中空闲分区Free,点创建Create

选择标准分区Standard Partition,点创建Create

挂载点:/boot

文件系统类型:ext3

大小Size:128

其他选项默认即可

确定 OK

继续选中空闲分区Free,点创建Create

选择标准分区Standard Partition,点创建Create

挂载点:/

文件系统类型:ext4

选中“使用全部可用空间”

其他选项默认即可

确定 OK

创建好分区之后,如上图所示,然后点Next

默认Yes #提示没有创建swap分区,后面再创建

点“Format”格式化

选择“Write changes to disk”将修改写入磁盘

默认

Next

默认是:第一项,Desktop桌面

这里选择:Minimal 最小

Next

备注:可以点Customize now,选择安装需要的开发工具包软件,

也可以在需要的时候通过yum源、rpm或者编译来安装软件包。

开始安装

安装完成

点“Reboot”重新引导,系统自动重启

重启之后,出现下面登录界面

系统安装完成

二、设置IP地址、网关、DNS

约定:

第一块网卡为外网

第二块网卡为内网(没有外网的机器也要将内网配置在第二块网卡上)

说明:CentOS 65默认安装好之后是没有自动开启网络连接的!

输入账号root

再输入安装过程中设置的密码,登录到系统

vi  /etc/sysconfig/network-scripts/ifcfg-eth0   #编辑配置文件,添加修改以下内容

BOOTPROTO=static   #启用静态IP地址

ONBOOT=yes  #开启自动启用网络连接

IPADDR=19216821129  #设置IP地址

NETMASK=2552552550  #设置子网掩码

GATEWAY=192168212   #设置网关

DNS1=8888 #设置主DNS

DNS2=8844 #设置备DNS

IPV6INIT=no  #禁止IPV6

:wq!  #保存退出

service ip6tables stop   #停止IPV6服务

chkconfig ip6tables off  #禁止IPV6开机启动

service yum-updatesd stop   #关闭系统自动更新

chkconfig yum-updatesd off  #禁止开启启动

service network restart  #重启网络连接

ifconfig  #查看IP地址

三、设置主机名

约定:

主机名命名规范:业务机房主备域名

这里设置主机名为:bbshzmosyunweicom

1、hostname “bbshzmosyunweicom”

#设置主机名为bbshzmosyunweicom

2、vi /etc/sysconfig/network  #编辑配置文件

HOSTNAME= bbshzmosyunweicom

#修改localhostlocaldomain为bbshzmosyunweicom

:wq!  #保存退出

3、vi /etc/hosts #编辑配置文件

127001  bbshzmosyunweicom localhost

#修改localhostlocaldomain为bbshzmosyunweicom

:wq!  #保存退出

shutdown -r now  #重启系统

四、增加swap分区

在确定了服务器所需要使用的内存后,需要增加1024M的swap空间

具体操作:

1、dd if=/dev/zero of=/tmp/swap bs=1M  count=1024M  #创建1024M的文件块

2、mkswap /tmp/swap  #创建swap文件

3、swapon /tmp/swap  #激活swap文件

4、swapon -s  #查看swap

5、修改/etc/fstab文件,增加以下内容,让系统引导时自动启动

vi /etc/fstab  #在最后添加下面代码

/tmp/swap swap swap default  0 0

:wq!  #保存退出

至此,CentOS 65系统安装配置完成

产品型号:ThinkpadE15

系统版本:centos7

Centos7操作系统安装步骤:

1、双击启动vmware15

2、创建新的虚拟机,在光驱中加载下载好的centos7镜像。

3、启动新创建的虚拟机,在安装界面选择“InstallCentOS7开始安装系统。

5、选择语言:中文-简体中文

6、进入一站式安装界面

7、时区选择亚洲上海,默认就可以了。

8、键盘默认就可以了

9、安装源使用默认的光盘镜像就可以了

10、软件包选择,初学者建议选择带GUI的服务器,同时把“开发工具相关的软件包也安装上

11、选择-系统-安装位置,进入磁盘分区界面,进行分区

12、关闭kdump

13、网络配置,开启以太网连接,配置IP地址和主机名

14、安全策略使用默认,就可以了。

15、单击开始安装,进入安装界面,配置用户和密码

16、安装完成后,点重启系统,做初始化设置,操作系统安装完成

       1 安装虚拟机(vmware,virtualbox等),方便实验安装多个系统

        2打开虚拟化功能

            inter CPU虚拟化功能在BIOS界面的 Inter Virtualization Technology 选项选择启用(Enabled) 

            AMD CPU CPU虚拟化功能在BIOS界面的 SVM Mode选项选择启用(Enabled) 

 创建虚拟机环境

安装CenTOS79

开机

测试安装,一般第一次最好选择测试安装检查镜像文件是否损坏

选择语言

选择时区

初学者选择安装Server with GUI的图形界面,以后服务器上安装Minimal install

设置磁盘空间

自定义分区

创建根分区100G (/)

创建/boot分区 1G

创建swap分区2G

创建自定义/date数据分区50G

配置网络和主机名

安装

设置超级用户root密码

设置一般用户,用户名和密码

重启

同意许可协议

完成安装

用户登录界面

准备阶段

我使用的是一台Reg Model E18s 物理服务器,以及一个金士顿32GU盘,Rufus工具以及iso文件也附上:

「rufus-316pexe」https://wwwaliyundrivecom/s/TP7MvZ8ABdz

1、制作U盘启动阶段

需要在U盘安装启动程序(我使用的是rufus工具)

在windows打开rufus工具,插入U盘,rufus会自动识别U盘(或者手动选择)

此处我使用的是centos7镜像,若是要安装ubuntu、win镜像,步骤一样的哈,点击“开始”,弹出检测到ISOHybrid镜像,选择“是”

启动盘将会格式化U盘,(注意:把重要资料记得备份)

点击“确认”后,会直接开始制作启动盘,需等待10分钟左右

完成后界面

2、格式化磁盘并分配RAID 10 阵列

按开机键,下图是物理服务器开机界面

当屏幕出现 Press <Ctrl><R> to Run Configuration Utility  字样,按Ctrl+R 进入Bios界面

当前物理服务器若有系统建议格式化磁盘重新分配RAID,在键盘按向上键到第一行

按F2 ,选择Clear Config ,回车,选择YES

回车后,格式化界面如下:

按向上键到第一行,再F2选择 Create New VD,回车

进入到以下界面,选择RAID Level。 选择那种阵列根据自己业务需求来,我是使用RAID-10,空格键把4个磁盘选上,点击ok

回到mgmt进行初始化,选择当前磁盘,按F2

选择Initialization,Fast Init。进行初始化

选择yes 回车

按esc 退出,选择C。物理服务器会要求重启如下。

此处需把启动盘(u盘)插上后,按住Control+Alt+Delete 重启

重启过程需要按F11进入设置页面,如下:

若出现Strike the F1 key to continue, F2 to run the system setup program 提示

按F1 继续

稍微等下后,将会进入设置界面,选择BIOS Boot Menu 回车

选择 Hard drive C:,选择 U盘启动,如下

3、安装linux centos7

u盘启动后,将会进入到这个界面,选择install Centos7即可,如下

等待10分钟左右,将会进入图形化界面按照,根据自己的需求进行配置。

等下10分钟,重启

最后重启进入到命令行界面,即安装完成。输入root账号名,已经安装过程中设置的密码进行登录即可。

恭喜顺利安装完毕,开始linux之旅。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » CentOS下多路径大容量硬盘挂载详解

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情