在服务器端和客户端安装共享软件(前提是你得配置好yum)
yum -y install compat-db
yum -y install libXp
yum -y install openmotif22
yum -y install perl-Config-General
yum -y install scsi-target-utils
yum -y install iscsi-initiator-utils
在服务器端配置共享的设备
fdisk /dev/sda --创建共享的存储,我创建的共享是/dev/sda9
vi /etc/tgt/targets.conf --配置共享存储,在配置最后添加下面的内容,假设你的网段是192.168.0这个网段
<target iqn.2011-01.com.oracle.blues:luns1>
backing-store /dev/sda9
initiator-address 192.168.0.0/24
</target>
配置开机发现设备(这东西确实是抄的,呵呵)
vi /etc/udev/scripts/iscsidev.sh
#!/bin/bash
BUS=${1}
HOST=${BUS%%:*}
[ -e/sys/class/iscsi_host ] || exit 1
file="/sys/class/iscsi_host/host${HOST}/device/session*/iscsi_session*/targetname"
target_name=$(cat ${file})
if [-z "${target_name}" ] ; then
exit 1
fi
echo"${target_name##*:}"
赋予执行权限
chmod +x /etc/udev/scripts/iscsidev.sh
设置开机启动3个服务,然后启动服务(虽然已经启动,可以再次启动)
chkconfig iscsi on
chkconfig iscsid on
chkconfig tgtd on
service iscsi start
service iscsid start
service tgtd start
开机发布共享存储
tgtadm --lld iscsi --op bind --mode target--tid 1 -I ALL
iscsiadm -m discovery -t sendtargets -p 192.168.0.14
service iscsi start
通过命令fdisk -l,即可以看到已经挂载了一个设备/dev/sdb过来
设置开机挂载设备
vi /etc/rc.local
tgtadm --lld iscsi --op bind --mode target--tid 1 -I ALL
service iscsi start
fdisk /dev/sdb
手动给共享存储分区,分4个区
配置自动挂载成裸设备
vi /etc/udev/rules.d/60-raw.rules
ACTION=="add",KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",KERNEL=="sdb3", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add",KERNEL=="sdb5", RUN+="/bin/raw /dev/raw/raw4 %N"
KERNEL=="raw[1]",MODE="0660", GROUP="oinstall", OWNER="root"
KERNEL=="raw[2]",MODE="0660", GROUP="oinstall", OWNER="oracle"
KERNEL=="raw[3]",MODE="0660", GROUP="oinstall", OWNER="oracle"
KERNEL=="raw[4]",MODE="0660", GROUP="oinstall", OWNER="oracle"
手动启动裸设备挂载
start_udev
此时,可以手动发现挂载的裸设备
配置客户端
配置开机发现存储1
vi /etc/udev/rules.d/55-openiscsi.rules
KERNEL=="sd*",BUS=="scsi",PROGRAM="/etc/udev/scripts/iscsidev.sh%b",SYMLINK+="iscsi/%c"
再配置开机发现存储2
vi /etc/udev/scripts/iscsidev.sh
#!/bin/bash
BUS=${1}
HOST=${BUS%%:*}
[ -e /sys/class/iscsi_host ] || exit 1
file="/sys/class/iscsi_host/host${HOST}/device/session*/iscsi_session*/targetname"
target_name=$(cat ${file})
if [ -z "${target_name}" ] ; then
exit 1
fi
echo "${target_name##*:}"
赋予执行权限,然后手动发现存储
chmod +x /etc/udev/scripts/iscsidev.sh
service iscsi start
iscsiadm -m discovery -t sendtargets -p 192.168.0.14 -l
service iscsi start
fdisk -l
配置自动挂载成裸设备
vi /etc/udev/rules.d/60-raw.rules
ACTION=="add",KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",KERNEL=="sdb3", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add",KERNEL=="sdb5", RUN+="/bin/raw /dev/raw/raw4 %N"
KERNEL=="raw[1]",MODE="0660", GROUP="oinstall", OWNER="root"
KERNEL=="raw[2]",MODE="0660", GROUP="oinstall", OWNER="oracle"
KERNEL=="raw[3]",MODE="0660", GROUP="oinstall", OWNER="oracle"
KERNEL=="raw[4]",MODE="0660", GROUP="oinstall", OWNER="oracle"
手动启动裸设备挂载
start_udev
此时,可以手动发现挂载的裸设备
重启两台服务器,可以发现裸设备已经自动挂载了,下面可以做RAC的实验了。
哎呀,太乱了,以后整理整理(如果我还记得回来的话)