iscsi與multipath搭建
服務端
安裝
yum install iscsi-initiator-utils
yum install scsi-target-utils
yum install lsscsi
service iscsi start
service iscsid start
service tgtd start
chkconfig iscsi on
chkconfig iscsid on
chkconfig tgtd on
service iscsid start
service tgtd start
chkconfig iscsi on
chkconfig iscsid on
chkconfig tgtd on
配置
sdb,sdc,sdd三個磁碟,允許所有客戶端訪問
tgtadm --lld iscsi --mode target --op new --tid 1 --targetname disk0
tgtadm --lld iscsi --mode target --op new --tid 2 --targetname disk1
tgtadm --lld iscsi --mode target --op new --tid 3 --targetname disk2
tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 --backing-store /dev/sdb
tgtadm --lld iscsi --mode logicalunit --op new --tid 2 --lun 2 --backing-store /dev/sdc
tgtadm --lld iscsi --mode logicalunit --op new --tid 3 --lun 3 --backing-store /dev/sdd
tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address ALL
tgtadm --lld iscsi --mode target --op bind --tid 2 --initiator-address ALL
tgtadm --lld iscsi --mode target --op bind --tid 3 --initiator-address ALL
生成配置檔案
tgt-admin --dump > /etc/tgt/targets.conf
tgtadm --lld iscsi --mode target --op new --tid 2 --targetname disk1
tgtadm --lld iscsi --mode target --op new --tid 3 --targetname disk2
tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 --backing-store /dev/sdb
tgtadm --lld iscsi --mode logicalunit --op new --tid 2 --lun 2 --backing-store /dev/sdc
tgtadm --lld iscsi --mode logicalunit --op new --tid 3 --lun 3 --backing-store /dev/sdd
tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address ALL
tgtadm --lld iscsi --mode target --op bind --tid 2 --initiator-address ALL
tgtadm --lld iscsi --mode target --op bind --tid 3 --initiator-address ALL
生成配置檔案
tgt-admin --dump > /etc/tgt/targets.conf
啟動服務
...
客戶端
發現磁碟
[root@db10 ~]# iscsiadm -m discovery -t sendtargets -p 1.1.1.252
Starting iscsid: [ OK ]
1.1.1.252:3260,1 disk0
1.1.1.252:3260,1 disk1
1.1.1.252:3260,1 disk2
1.1.1.252:3260,1 disk0
1.1.1.252:3260,1 disk1
1.1.1.252:3260,1 disk2
登陸iscsi
(把--login改成--logout就是取消)
iscsiadm --mode node --targetname disk0 --portal 1.1.1.252:3260 --login
iscsiadm --mode node --targetname disk1 --portal 1.1.1.252:3260 --login
iscsiadm --mode node --targetname disk2 --portal 1.1.1.252:3260 --login
iscsiadm --mode node --targetname disk1 --portal 1.1.1.252:3260 --login
iscsiadm --mode node --targetname disk2 --portal 1.1.1.252:3260 --login
[root@db10 ~]# fdisk -l | grep "Disk /"
Disk /dev/sda: 34.4 GB, 34359738368 bytes
Disk /dev/sdb: 8589 MB, 8589934592 bytes
Disk /dev/sdc: 8589 MB, 8589934592 bytes
Disk /dev/sdd: 8589 MB, 8589934592 bytes
多路徑
用iscsiadm登陸另外的ip。
iscsiadm --mode node --targetname disk0 --portal 2.2.2.252:3260 --login
iscsiadm --mode node --targetname disk1 --portal 2.2.2.252:3260 --login
iscsiadm --mode node --targetname disk2 --portal 2.2.2.252:3260 --login
iscsiadm --mode node --targetname disk1 --portal 2.2.2.252:3260 --login
iscsiadm --mode node --targetname disk2 --portal 2.2.2.252:3260 --login
看見了重複的sdN
[root@db10 ~]# fdisk -l | grep "Disk /"
Disk /dev/sda: 34.4 GB, 34359738368 bytes
Disk /dev/sdb: 8589 MB, 8589934592 bytes
Disk /dev/sdc: 8589 MB, 8589934592 bytes
Disk /dev/sdd: 8589 MB, 8589934592 bytes
Disk /dev/sde: 8589 MB, 8589934592 bytes
Disk /dev/sdf: 8589 MB, 8589934592 bytes
Disk /dev/sdg: 8589 MB, 8589934592 bytes
Disk /dev/sda: 34.4 GB, 34359738368 bytes
Disk /dev/sdb: 8589 MB, 8589934592 bytes
Disk /dev/sdc: 8589 MB, 8589934592 bytes
Disk /dev/sdd: 8589 MB, 8589934592 bytes
Disk /dev/sde: 8589 MB, 8589934592 bytes
Disk /dev/sdf: 8589 MB, 8589934592 bytes
Disk /dev/sdg: 8589 MB, 8589934592 bytes
[root@db10 ~]# scsi_id -u -g /dev/sdb
1IET_00010001
[root@db10 ~]# scsi_id -u -g /dev/sde
1IET_00010001
1IET_00010001
[root@db10 ~]# scsi_id -u -g /dev/sde
1IET_00010001
安裝多路徑軟體
yum -y install device-mapper*
chkconfig multipathd on
service multipathd start
service multipathd start
配置對映
建立配置檔案
[root@db10 ~]# cat /etc/multipath.conf
defaults {
udev_dir /dev
polling_interval 10
path_selector "round-robin 0"
path_grouping_policy multibus
getuid_callout "/lib/udev/scsi_id --whitelisted --replace-whitespace -g -u -d /dev/%n"
prio const
path_checker readsector0
rr_min_io 100
max_fds 8192
rr_weight priorities
failback immediate
no_path_retry fail
user_friendly_names yes
}
blacklist {
wwid 1ATA_VBOX_HARDDISK_VB2271fad5-dee44b6d
}
multipaths {
multipath {
wwid 1IET_00010001
alias mpath_0
}
multipath {
wwid 1IET_00020001
alias mpath_1
}
multipath {
wwid 1IET_00030001
alias mpath_2
}
}
devices {
device {
vendor IET
product VIRTUAL-DISK
}
}
udev_dir /dev
polling_interval 10
path_selector "round-robin 0"
path_grouping_policy multibus
getuid_callout "/lib/udev/scsi_id --whitelisted --replace-whitespace -g -u -d /dev/%n"
prio const
path_checker readsector0
rr_min_io 100
max_fds 8192
rr_weight priorities
failback immediate
no_path_retry fail
user_friendly_names yes
}
blacklist {
wwid 1ATA_VBOX_HARDDISK_VB2271fad5-dee44b6d
}
multipaths {
multipath {
wwid 1IET_00010001
alias mpath_0
}
multipath {
wwid 1IET_00020001
alias mpath_1
}
multipath {
wwid 1IET_00030001
alias mpath_2
}
}
devices {
device {
vendor IET
product VIRTUAL-DISK
}
}
說明:
defaults裡是其它配置的預設引數,供其它配置整合。
polling_interval:鏈路的檢查間隔,單位是秒。預設為5秒。檢查間隔會逐步增加到4*polling_interval。
selector:
round-robin 0:向每個通道分配等量IO;
queue-length 0:向通道發生最小的未完成IO;
service-time 0:根據每個通道的未完成IO和吞吐量分配新IO;
path_grouping_policy:通道的優先策略
failover 每個組只有一個通道(主備模式);
multibus 所有通道放到一個組(負載均衡);
group_by_serial 按serial number分組;
group_by_prio 按“prio”引數指定的值來分組;
group_by_node_name 按/sys/class/fc_transport/target*/node_name的名稱分組
預設策略是multibus
multibus 所有通道放到一個組(負載均衡);
group_by_serial 按serial number分組;
group_by_prio 按“prio”引數指定的值來分組;
group_by_node_name 按/sys/class/fc_transport/target*/node_name的名稱分組
預設策略是multibus
getuid_callout:指定識別裝置UID使用的命令
prio:決定通道優先順序的方式,const表示所有通道優先順序一樣,也是預設的方式。其它的還有emc,alua,tpg_pref,ontap,rdac,hp_sw,hds,都是針對不同廠商的產品的。
path_checker:通道狀態的檢查方式:
readsector0:讀取裝置的第一個sector;
tur:向裝置發生TEST UNIT READY命令;
directio:透過direct I/O讀取裝置的第一個sector;
emc_clariion,hp_sw,rdac這三個是針對特定廠商產品的;
預設值是readsector0。
readsector0:讀取裝置的第一個sector;
tur:向裝置發生TEST UNIT READY命令;
directio:透過direct I/O讀取裝置的第一個sector;
emc_clariion,hp_sw,rdac這三個是針對特定廠商產品的;
預設值是readsector0。
rr_min_io:在一個優先順序組的多個通道之間分配IO時,每次給一個通道分配的IO的最小次數。相當於IO分配的顆粒度。預設為1。這個引數值針對 2.6.31之前的核心,新核心需要設定rr_min_io_rq,其預設為1000。
max_fds:指定multipath和multipathd能開啟的檔案描述符數量。這個值和ulimit -n相關。
/proc/sys/fs/nr_open顯示的是系統能開啟的檔案描述符數。
如果沒有設定max_fds,multipath和multipathd能開啟的檔案描述符數量就取決於呼叫它們的程式。
通常是1024. 如果通道數量乘以32大於1024,最好是設定為通道數量*32。
/proc/sys/fs/nr_open顯示的是系統能開啟的檔案描述符數。
如果沒有設定max_fds,multipath和multipathd能開啟的檔案描述符數量就取決於呼叫它們的程式。
通常是1024. 如果通道數量乘以32大於1024,最好是設定為通道數量*32。
blacklist是忽略哪些磁碟,比如本地磁碟
multipaths裡的每個multipath是一個對映,指定wwid和alias。
wwid就是defaults裡getuid_callout指定的命令的返回值。相當於繫結uuid
alias是別名,對映好的裝置會出現在/dev/mapper裡。
devices指定的是裝置型別
vendor: 取自/sys/block/device_name/device/vendor
product: 取自/sys/block/device_name/device/model
product: 取自/sys/block/device_name/device/model
啟動multipathd服務後,message日誌:
Apr 3 14:54:59 db10 kernel: device-mapper: multipath round-robin: version 1.0.0 loaded
Apr 3 14:54:59 db10 multipathd: mpath_0: load table [0 16777216 multipath 0 0 1 1 round-robin 0 2 1 8:16 1 8:64 1]
Apr 3 14:54:59 db10 multipathd: mpath_1: load table [0 16777216 multipath 0 0 1 1 round-robin 0 2 1 8:32 1 8:80 1]
Apr 3 14:54:59 db10 multipathd: mpath_2: load table [0 16777216 multipath 0 0 1 1 round-robin 0 2 1 8:48 1 8:96 1]
Apr 3 14:54:59 db10 multipathd: mpath_0: event checker started
Apr 3 14:54:59 db10 multipathd: mpath_1: event checker started
Apr 3 14:54:59 db10 multipathd: mpath_2: event checker started
Apr 3 14:54:59 db10 multipathd: path checkers start up
Apr 3 14:54:59 db10 multipathd: mpath_0: load table [0 16777216 multipath 0 0 1 1 round-robin 0 2 1 8:16 1 8:64 1]
Apr 3 14:54:59 db10 multipathd: mpath_1: load table [0 16777216 multipath 0 0 1 1 round-robin 0 2 1 8:32 1 8:80 1]
Apr 3 14:54:59 db10 multipathd: mpath_2: load table [0 16777216 multipath 0 0 1 1 round-robin 0 2 1 8:48 1 8:96 1]
Apr 3 14:54:59 db10 multipathd: mpath_0: event checker started
Apr 3 14:54:59 db10 multipathd: mpath_1: event checker started
Apr 3 14:54:59 db10 multipathd: mpath_2: event checker started
Apr 3 14:54:59 db10 multipathd: path checkers start up
對映結果
[root@db10 device]# ll /dev/mapper/
total 0
crw-rw---- 1 root root 10, 58 Apr 3 10:25 control
lrwxrwxrwx 1 root root 7 Apr 3 14:54 mpath_0 -> ../dm-0
lrwxrwxrwx 1 root root 7 Apr 3 14:54 mpath_1 -> ../dm-1
lrwxrwxrwx 1 root root 7 Apr 3 14:54 mpath_2 -> ../dm-2
total 0
crw-rw---- 1 root root 10, 58 Apr 3 10:25 control
lrwxrwxrwx 1 root root 7 Apr 3 14:54 mpath_0 -> ../dm-0
lrwxrwxrwx 1 root root 7 Apr 3 14:54 mpath_1 -> ../dm-1
lrwxrwxrwx 1 root root 7 Apr 3 14:54 mpath_2 -> ../dm-2
[root@db10 ~]# multipath -ll
mpath_2 (1IET_00030001) dm-2 IET,VIRTUAL-DISK
size=8.0G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 5:0:0:1 sdd 8:48 active ready running
`- 8:0:0:1 sdg 8:96 active ready running
mpath_1 (1IET_00020001) dm-1 IET,VIRTUAL-DISK
size=8.0G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 4:0:0:1 sdc 8:32 active ready running
`- 7:0:0:1 sdf 8:80 active ready running
mpath_0 (1IET_00010001) dm-0 IET,VIRTUAL-DISK
size=8.0G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 3:0:0:1 sdb 8:16 active ready running
`- 6:0:0:1 sde 8:64 active ready running
[root@db10 ~]# fdisk -l | grep "Disk /"
Disk /dev/sda: 34.4 GB, 34359738368 bytes
Disk /dev/sdb: 8589 MB, 8589934592 bytes
Disk /dev/sdc: 8589 MB, 8589934592 bytes
Disk /dev/sdd: 8589 MB, 8589934592 bytes
Disk /dev/sde: 8589 MB, 8589934592 bytes
Disk /dev/sdf: 8589 MB, 8589934592 bytes
Disk /dev/sdg: 8589 MB, 8589934592 bytes
Disk /dev/mapper/mpath_0: 8589 MB, 8589934592 bytes
Disk /dev/mapper/mpath_1: 8589 MB, 8589934592 bytes
Disk /dev/mapper/mpath_2: 8589 MB, 8589934592 bytes
Disk /dev/sda: 34.4 GB, 34359738368 bytes
Disk /dev/sdb: 8589 MB, 8589934592 bytes
Disk /dev/sdc: 8589 MB, 8589934592 bytes
Disk /dev/sdd: 8589 MB, 8589934592 bytes
Disk /dev/sde: 8589 MB, 8589934592 bytes
Disk /dev/sdf: 8589 MB, 8589934592 bytes
Disk /dev/sdg: 8589 MB, 8589934592 bytes
Disk /dev/mapper/mpath_0: 8589 MB, 8589934592 bytes
Disk /dev/mapper/mpath_1: 8589 MB, 8589934592 bytes
Disk /dev/mapper/mpath_2: 8589 MB, 8589934592 bytes
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26239116/viewspace-1485362/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux iscsi multipath多路徑及名稱持久化配置Linux持久化
- centos上iscsi+multipath多路徑儲存配置手冊CentOS
- RedHat 5.4上iscsi+multipath多路徑儲存配置獲取裝置的wwidRedhat
- Linux下搭建iSCSI共享儲存Linux
- Multipath
- 【ISCSI】-iSCSI Initiator與 Target 的安裝、配置與連線過程備忘
- RAC11g搭建-centos7+openfiler+multipath+udevCentOSdev
- RAC19c搭建-centos7+openfiler+multipath+udevCentOSdev
- Linux Multipath多路徑配置與使用案例Linux
- iSCSI
- 通過Azure File Service搭建基於iscsi的共享盤
- 使用ISCSI & Linux LVM2 搭建Report DBLinuxLVM
- multipath多路徑配置
- Multipath and Device MapperdevAPP
- LINUX 多路徑對映Multipath與正規表示式Linux
- 零基礎:邪惡帶你3步快速掌握iSCSI搭建
- iSCSI技術
- redhat 5 iscsiRedhat
- Linux的multipath for ASMLinuxASM
- redhat multipath多路徑 DMRedhat
- multipath配置詳細參考
- linux之 multipath 多路徑Linux
- linux多路徑multipath配置Linux
- 【轉】基於iSCSI與Openfiler構建自己的Oracle RACOracle
- 基於iSCSI與Openfiler構建自己的Oracle RAC(二)Oracle
- Centos 7 Iscsi targetCentOS
- udev+multipath配合繫結磁碟dev
- Centos 7安裝iscsiCentOS
- 共享儲存之ISCSI
- Linux iSCSI 設定Linux
- linux配置multipath 並安裝racLinux
- iscsi linux客戶端Linux客戶端
- iscsi掛載和刪除
- Iscsi Target config lv
- 主要協議SCSI、FC、iSCSI協議
- linux iscsi配置網摘Linux
- 在Linux平臺使用multipath固化磁碟裝置與LUN的對應關係Linux
- 基於 SmartX 分散式儲存的 iSCSI 與兩種 NVMe-oF 技術與效能對比分散式