centos san centos7哪个版本好

大家好,今天来为大家分享centos san的一些知识点,和centos7哪个版本好的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

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

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

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

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

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

二、什么是多路径

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

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

1.故障的切换和恢复

2.IO流量的负载均衡

3.磁盘的虚拟化

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

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

三、Linux下multipath介绍

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

[root@localhost~]# rpm-qa|grep mapper device-mapper-multipath-0.4.9-64.el6.x86_64 device-mapper-event-libs-1.02.77-9.el6.x86_64 device-mapper-multipath-libs-0.4.9-64.el6.x86_64 device-mapper-persistent-data-0.1.4-1.el6.x86_64 device-mapper-libs-1.02.77-9.el6.x86_64 device-mapper-event-1.02.77-9.el6.x86_64 device-mapper-1.02.77-9.el6.x86_64

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

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

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

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

scsi_id:包含在udev程序包中,可以在multipath.conf中配置该程序来获取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/multipath.conf 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/init.d/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: 2684.4 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 2.1 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~]# mkfs.ext4/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目录下

怎么搭建linux centos服务器

把在本地开发的php+mysql程序通过FTP架设到web服务器,并能通过域名正常访问网站。

END

步骤/方法

第一步:创建FTP

================================================================

chmod go+rwx/data《给data分配权限》

cd/data《进入data分区》

mkdir web《建立web目录》

chmod go+rwx/data/web

cd/《回到根目录,个人操作习惯,可跳过这步》

useradd ftpusername-d/data/web/cqwebseo.com《添加FTP,ftpusername改为你的FTP用户、cqwebseo.com改为你FTP对就的网站目录》

passwd cqwebseo《设置FTP密码》

echo cqwebseo>>/etc/ftpchroot《设置FTP用户只访问自己网站目录内的文件,不能访问其它目录。这点很重要》vi/etc/vsftpd/vsftpd.conf《修改FTP配置文件》

注:按一下i进入到编辑模式,修改完后按一下ESC退出编辑模式,再输入《:wq》(其作用是保存改修改并退出)《:q!》退出不保存《:q》没有做过修改用这个退出

idle_session_timeout

data_connection_timeout

找到这两个,,修改其值大于900,如果不修改这个的话,,FTP链接很慢

#xferlog_file

找到这个,删除#。。。作用是记录FTP的日志

/etc/init.d/vsftpd restart《重启FTP后配置文件才会生效》

到此第一步OK你可用FTP登陆啦!

注:我这配置有这个问题没解决,登陆报超时,但你耐心的等一会,就会链接好,如果有盆友知道解决方法的,请帮解答一下。。。谢谢。。

======================================================================

第三步:配置mysql

==============================================================================

/usr/local/mysql/bin/mysql-uroot-p《登陆mysql,按一下ENTER然后输入mysql密码,默认和万网root密码一样》

use mysql;《选择mysql表》

grant all on cqwebseo_db.* to cqwebseo@localhost identified by'cqwebseomysql';《添加一个数据,有所有权限,cqwebseo_db为数据库名,cqwebseo为用户名,cqwebseomysql为密码》

flush privileges;《不用解释吧,真就度娘一下。》

exit;《这个也不用说吧》

/usr/local/mysql/bin/mysqladmin-uroot-p8y6v8a3c7u shutdown《停止mysql》

/usr/local/mysql/bin/mysqld_safe《启动mysql》

到此。。就Ok。注意。。注意。。。。。分号分号分号

/usr/local/mysql/var《数据库存放目录》

================================================================================

第二步:配置httpd.conf

=======================================================================

echo hi! Tis test!/data/web/cqwebseo.com> index.php《在cwebseo.com里面建立一个内容为hi!Tis test!的index.php文件》

vi/var/www/conf/httpd.conf《进入主战场》

按上下键,翻到文档最后,然后加入下列表代码(不知道怎么加进的,看第一步的注意事项)

<VirtualHost*:80>

DocumentRoot/data/web/cqwebseo

DirectoryIndex index.php

ServerAdmin datena@qq.com

ServerName cqwebseo.com

ServerAlias www.cqwebseo.com

#ErrorLog/data/web/sanmao/log/error.log

#TransferLog/data/web/sanmao/log/access.log

</VirtualHost>

简单说一下。。。。。。网上有很多这方面的资料

DocumentRoot/data/web/cqwebseo这个就是网站的决对地址说白就是你分配给他的FTP地址

DirectoryIndex index.php这个表示网站默认首页是index.php

ServerAdmin datena@qq.com服务管理员的邮箱

ServerName cqwebseo.com这个你懂的

ServerAlias www.cqwebseo.com这个也不需要解释吧

余下的两个被我注释掉喽,,,意思是网站的日志文件存放地

var/www/bin/apachectl restart重启apachectl

var/www/bin/apachectl stop停止apachectl

var/www/bin/apachectl start启动apachectl

OK到这里。。第二步就完。。。你能输入网址。。。看到这个目录啦。。不过有个前题条件。。这个个域名要解析过来了滴哈。。不然的话。。你就不要输入域名那两个。。直接用你服务的IP地址访问也行的。。。。如果你操作正确啦。。就能看到网页上出现hi! Tis test!

=========================================================================

CentOS系统中跟踪高IO等待详解

高IO等待问题的第一个征兆通常是系统平均负载。负载均衡的计算都是基于CPU利用率的,即使用或等待CPU的进程数目,当然,在Linux平台上,进程几乎都处于不可中断的睡眠状态。负载均衡的基线可以解释为,在一个CPU核的机器上上,该CPU得到充分利用。因此,对于4核机器中,如果系统平均复杂为 4,表示该机器有足够的资源来处理它需要做的工作,当然只是勉强。在相同的4核系统,如果平均复杂是8,那么以为这将意味着服务器系统需要8个core才能处理所要做的工作,但现在只有4个核,所以已经超载。

如果系统显示平均负载较高,但是CPU的系统(system)和用户(user)利用率较低,那么就需要观察IO等待(即IO wait)。在linuc系统上,IO wait对系统负载有较大的影响,主要因为一个或多个核都可能被磁盘IO或网络

发现进程在等待IO完成是一回事,验证高IO wait的原因是另一回事。使用”iostat–x 1”能够显示正在使用的物理存储设备的IO情况:

[username@server~]$ iostat-x 1

Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm%util

cciss/c0d0 0.08 5.94 1.28 2.75 17.34 69.52 21.60 0.11 26.82 4.12 1.66

cciss/c0d0p1 0.00 0.00 0.00 0.00 0.00 0.00 5.30 0.00 8.76 5.98 0.00

cciss/c0d0p2 0.00 0.00 0.00 0.00 0.00 0.00 58.45 0.00 7.79 3.21 0.00

cciss/c0d0p3 0.08 5.94 1.28 2.75 17.34 69.52 21.60 0.11 26.82 4.12 1.66

由上可知,很明显,设备/dev/cciss/c0d0p3的等待时间很长。然而,我们并没有挂载找个设备,实际上,它是个LVM设备。如果您使用的是 LVM作为存储,那么,您应该发现iostat应该有那么一点混乱。LVM使用device mapper子系统将文件系统映射到物理设备,因此,iostat可能显示多个设备,比如/ dev/dm-0和/ dev/dm-1。而”df–h”的输出却不会显示device mapper路径,而是打印了LVM路径。最简单的方法是在iostat参数中添加选项”-N”。

[username@server~]$ iostat-xN 1

Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm%util

vg1-root 0.00 0.00 0.09 3.01 0.85 24.08 8.05 0.08 24.69 1.79 0.55

vg1-home 0.00 0.00 0.05 1.46 0.97 11.69 8.36 0.03 19.89 3.76 0.57

vg1-opt 0.00 0.00 0.03 1.56 0.46 12.48 8.12 0.05 29.89 3.53 0.56

vg1-tmp 0.00 0.00 0.00 0.06 0.00 0.45 8.00 0.00 24.85 4.90 0.03

vg1-usr 0.00 0.00 0.63 1.41 5.85 11.28 8.38 0.07 32.48 3.11 0.63

vg1-var 0.00 0.00 0.55 1.19 9.21 9.54 10.74 0.04 24.10 4.24 0.74

vg1-swaplv 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 3.98 1.88 0.00

为简便起见,裁剪上面iostat命令的输出信息。列出的每个文件系统所显示出的IO等待都是不可接受的,观察第十栏标有“await”的数据。相比而言,文件系统/usr的await时间要高一些。我们先来分析一下这个文件系统,使用命令” fuser-vm/opt”查看哪些进程在访问这个文件系统,进程列表如下。

root@server:/root> fuser-vm/opt

USER PID ACCESS COMMAND

/opt: db2fenc1 1067....m db2fmp

db2fenc1 1071....m db2fmp

db2fenc1 2560....m db2fmp

db2fenc1 5221....m db2fmp

当前服务器上有112个DB2进程正在访问/opt文件系统,为简便起见,列出四项。看来已经找到导致问题的原因,在服务器上,数据库配置为可使用速度更快的SAN访问,操作系统可以使用的是本地磁盘。可以打电话问问DBA(数据库管理员)怎么做才能这样配置。

最后一个组要的注意的是LVM和device mapper。“Iostat–xN”命令的输出显示的是逻辑卷名,但它是可以通过命令”ls–lrt/ dev/mapper”查到映射关系表。输出信息的第六列中的dm-是与iostat中的设备名相对应的。

有时候,在操作系统或应用层是没有什么可以做的,除了选择速度更快的磁盘,并没有其他的选择。幸运的是,快速磁盘访问,如SAN或SSD的价格正在逐步下降。

阅读剩余
THE END