配置DELL MD3200存储服务器连接到多台主机

戴尔MD3200磁盘存储服务器仅支持DELL SAS硬盘。该存储服务器可以上12块3.5英寸SAS硬盘、2个电源和2个控制器。每个控制器含有一个阵列卡带2G缓存,支持4个SAS IN接口用于连接4台主机。每台MD3200机器上2个控制器,则可以同时连接8台主机。此外,每个控制器含有一个SAS OUT口,用于连接到MD1200磁盘柜的SAS IN接口,从而支持拓展多达96块SAS硬盘。

1. 硬件组装

我本次经验,是将12块4TB的DELL SAS盘插入到DELL MD3200存储服务器中。然后,分别在3台服务器主机的PCI-E插槽上分别插上一片SAS直通卡。每片SAS直通卡有两个SF8088的SAS接口。使用6根SAS线(SF8088-SF8088)将MD3200存储上的SAS IN口和3台服务器的3片SAS直通卡进行相连。

此外,需要注意每张SAS直通卡贴纸上的一个编号,推荐拍照留存,以备后续使用。

2. 对DELL MD3200进行磁盘阵列设置

在个人windows10系统的笔记本电脑上安装软件DELL_MDSS软件,并设置笔记本电脑的有线网卡IP地址为192.168.128.120,使之和MD3200控制器IP地址192.168.128.101的IP段一致。然后将笔记本电脑的有线网口和控制器的网卡用网线连接,再打开DELL的MDSM软件。若两者有线网卡在同一IP地址段,则能自动找到存储阵列。

推荐重命名自动找到的存储阵列,然后双击对其进行管理,启动阵列管理窗口。再先后进行两项设置(1)阵列设置;(2)主机映射。

2.1 阵列设置

首先将最后两块盘设置为热备盘,然后以RAID5方式将其余所有的10块盘组成阵列,并使用所有的空间创建一个分区。

2.2 主机映射

在保证DELL MD3200存储服务器和3台服务器主机都开机并连接好数据线后,重启所有的服务器主机,以利于MD3200存储能识别3片SAS直通卡。

在MDSM的整列卡管理窗口中,创建一个名为chenlianfu的主机组,然后在该主机组下依次添加6个主机名。每添加一个主机时,需要设置一个SAS直通卡的机器码(需要和SAS直通卡上的机器码对应)和别名。每片SAS直通卡有两个SAS口,有两个机器码,对应添加的2个主机名。

主机映射做好后,即允许6个指定的SAS口可以访问磁盘存储。然后重启3台服务器,此时在重启界面中,在检测到SAS直通卡的时候,应该会提示其SAS直通卡检测到虚拟磁盘。在进入系统后,则会增加 /dev/sdb 和 /dev/sdc 两个设备,分别对应SAS直通卡的两个SAS口。

3. 对服务器主机进行多路径设置

在/dev/sdb和/dev/sdc两个路径都同时指向了存储服务器。需要通过CentOS系统中的多路径方式对这两个路径进行设置,使数据能同时通过这两个路径进行传输,才能充分达到6Gbps的数据。。

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install *device-mapper-multipath*
yum install *kpartx*
yum install *scsi_dh_rdac*
yum install *scsi_dh*
yum install *scsi_id*
yum install *udev*
yum install *modutils*
yum install *iscsi-initiator-utils*

在三台服务器上使用root用户都进行如下操作:

multipath -v3

使用如上命令得到/dev/sdb的wwid编号,然后,生成/etc/multipath.conf文件,其内容为:

blacklist {
    devnode "^sda"
# Begin Dell MD Modification
	device {
		vendor  "*"
		product "Universal Xport"
	}
	device {
		vendor  "*"
		product "MD3000"
	}
	device {
		vendor  "*"
		product "MD3000i"
	}
	device {
		vendor  "*"
		product "Virtual Disk"
	}
# End Dell MD Modification
}
defaults {
    user_friendly_names yes
    path_grouping_policy multibus
    failback immediate
    no_path_retry fail
# Begin Dell MD Modification
	max_fds             8192
# End Dell MD Modification
}
multipaths {
    multipath {
        wwid 36d4ae52000ad3c1800000c755df2d836
        alias chenlianfu_md3200
        path_grouping_policy multibus
        path_checker tur
        path_selector "round-robin 0"
    }
}
# Begin Dell MD Modification
devices {
	device {
		vendor                "DELL"
		product               "MD32xxi"
		path_grouping_policy  multibus
		prio                  rdac
		polling_interval      5
		path_checker          rdac
		path_selector         "round-robin 0"
		hardware_handler      "1 rdac"
		failback              immediate
		features              "2 pg_init_retries 50"
		no_path_retry         30
		rr_min_io             100
		prio_callout          "/sbin/mpath_prio_rdac /dev/%n"
	}
	device {
		vendor                "DELL"
		product               "MD32xx"
		path_grouping_policy  multibus
		prio                  rdac
		polling_interval      5
		path_checker          rdac
		path_selector         "round-robin 0"
		hardware_handler      "1 rdac"
		failback              immediate
		features              "2 pg_init_retries 50"
		no_path_retry         30
		rr_min_io             100
		prio_callout          "/sbin/mpath_prio_rdac /dev/%n"
	}
	device {
		vendor                "DELL"
		product               "MD36xxi"
		path_grouping_policy  multibus
		prio                  rdac
		polling_interval      5
		path_checker          rdac
		path_selector         "round-robin 0"
		hardware_handler      "1 rdac"
		failback              immediate
		features              "2 pg_init_retries 50"
		no_path_retry         30
		rr_min_io             100
		prio_callout          "/sbin/mpath_prio_rdac /dev/%n"
	}
	device {
		vendor                "DELL"
		product               "MD36xxf"
		path_grouping_policy  multibus
		prio                  rdac
		polling_interval      5
		path_checker          rdac
		path_selector         "round-robin 0"
		hardware_handler      "1 rdac"
		failback              immediate
		features              "2 pg_init_retries 50"
		no_path_retry         30
		rr_min_io             100
		prio_callout          "/sbin/mpath_prio_rdac /dev/%n"
	}
	device {
		vendor                "DELL"
		product               "MD34xx"
		path_grouping_policy  multibus
		prio                  rdac
		polling_interval      5
		path_checker          rdac
		path_selector         "round-robin 0"
		hardware_handler      "1 rdac"
		failback              immediate
		features              "2 pg_init_retries 50"
		no_path_retry         30
		rr_min_io             100
		prio_callout          "/sbin/mpath_prio_rdac /dev/%n"
	}
	device {
		vendor                "DELL"
		product               "MD38xxf"
		path_grouping_policy  multibus
		prio                  rdac
		polling_interval      5
		path_checker          rdac
		path_selector         "round-robin 0"
		hardware_handler      "1 rdac"
		failback              immediate
		features              "2 pg_init_retries 50"
		no_path_retry         30
		rr_min_io             100
		prio_callout          "/sbin/mpath_prio_rdac /dev/%n"
	}
	device {
		vendor                "DELL"
		product               "MD38xxi"
		path_grouping_policy  multibus
		prio                  rdac
		polling_interval      5
		path_checker          rdac
		path_selector         "round-robin 0"
		hardware_handler      "1 rdac"
		failback              immediate
		features              "2 pg_init_retries 50"
		no_path_retry         30
		rr_min_io             100
		prio_callout          "/sbin/mpath_prio_rdac /dev/%n"
	}
}
# End Dell MD Modification

再启动multipath服务:

systemctl restart multipathd.service 
systemctl enable multipathd.service 

这时,就可以在 /dev/mapper/目录下看到相应的设备了,在进行分区挂载操作等:

mkdir /disks/md3200/
mount /dev/mapper/chenlianfu_md3200p1 /disks/md3200/

最后,可以在 /etc/fstab 中增加一行,进行开机自动挂载:

/dev/mapper/chenlianfu_md3200p1 /disks/md3200   xfs     defaults        0       0

使用VULTR境外服务器进行外网访问

我在VULTR使用支付宝付款并搭建了一台服务器。然后在服务器上使用shadowsocksR搭建了代理服务,在本地机器上则可以设置翻墙从而稳定地访问google网址了。

1. 购买VULTR境外服务器

在VULTR的官网 https://www.vultr.com/ 可以最低使用支付宝或微信充值10美金,然后我部署了一台1CPU、512M内存、可以使用IPv4、系统为CentOS7的云服务器,价格为每月3.5美金。

2. 在境外服务器上搭建shadowsocks服务

登录VULTR服务器的root用户后,推荐先设置更安全的sshd配置

perl -p -i -e 's/#RSAAuthentication/RSAAuthentication/' /etc/ssh/sshd_config
perl -p -i -e 's/#PubkeyAuthentication/PubkeyAuthentication/' /etc/ssh/sshd_config
perl -p -i -e 's/#AuthorizedKeysFile/AuthorizedKeysFile/' /etc/ssh/sshd_config
perl -p -i -e 's/.*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
perl -p -i -e 's/.*Protocol\s+2.*/Protocol 2/' /etc/ssh/sshd_config
perl -p -i -e 's/.*ClientAliveInterval.*/ClientAliveInterval 60/' /etc/ssh/sshd_config
perl -p -i -e 's/.*ClientAliveCountMax.*/ClientAliveCountMax 10/' /etc/ssh/sshd_config
perl -p -i -e 's/.*UseDNS.*/UseDNS no/' /etc/ssh/sshd_config
perl -p -i -e 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/' /etc/ssh/sshd_config
systemctl restart sshd.service

然后开放一个特定的端口用于shadowsocks服务,例如:55588。

firewall-cmd --add-port=55588/tcp --permanent 
systemctl restart firewalld.service 

然后,使用shadowsocksR方法进行安装。有人提供了一键安装的脚本:

wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocksR.sh
chmod +x shadowsocksR.sh
./shadowsocksR.sh 2>&1 | tee shadowsocksR.log

该脚本运行过程中,输入相应的端口和密码信息等:

Your Server IP        :  108.**.**.** 
Your Server Port : 55588
Your Password : ********
Your Protocol : origin
Your obfs : plain
Your Encryption Method: aes-256-cfb

3. 在个人笔记本电脑上设置翻墙

下载shadowsocks软件,解压缩后得到一个exe文件。双击该exe文件,然后在右下角托盘中有个小飞机图标。右击该图标,再勾选启用系统代理,即可翻墙访问google网址了。

4. 其它

使用自己的境外服务器,能稳定快速稳定地翻墙访问。每月花费不到30元,也比较便宜 。此外,还可以将部署的服务器删除掉,则不会产生费用。然后在需要的时候再重新部署。