開源虛擬磁帶庫MHVTL 安裝on RHEL6.2
server端使用RHEL6.2
client使用windows 2008
一、安裝MHVTL
1、安裝需要的rpm包
yum -y install zlib-devel mtx mt-st lsscsi kernel-devel kernel-headers sg3_utils gcc
2、安裝mhvtl,
編譯核心
[root@MHVTL mhvtl]# cd mhvtl-0.18/
[root@MHVTL mhvtl-0.18]# cd kernel/
[root@MHVTL kernel]#
[root@MHVTL kernel]# make
make -C /lib/modules/2.6.32-220.el6.x86_64/build SUBDIRS=/mhvtl/mhvtl-0.18/kernel modules
make[1]: Entering directory `/usr/src/kernels/2.6.32-220.el6.x86_64'
CC [M] /mhvtl/mhvtl-0.18/kernel/mhvtl.o
/mhvtl/mhvtl-0.18/kernel/mhvtl.c:316: warning: initialization from incompatible pointer type
Building modules, stage 2.
MODPOST 1 modules
CC /mhvtl/mhvtl-0.18/kernel/mhvtl.mod.o
LD [M] /mhvtl/mhvtl-0.18/kernel/mhvtl.ko.unsigned
NO SIGN [M] /mhvtl/mhvtl-0.18/kernel/mhvtl.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.32-220.el6.x86_64'
[root@MHVTL kernel]#
[root@MHVTL kernel]# make install
install -o root -g root -m 644 mhvtl.ko /lib/modules/`uname -r`/kernel/drivers/scsi/; \
depmod -ae; \
if [ -f "/etc/modprobe.d/unsupported-modules" ]; then \
sed -e 's/^allow_unsupported_modules 0/allow_unsupported_modules 1/' /etc/modprobe.d/unsupported-modules > /etc/new; \
/bin/mv /etc/new /etc/modprobe.d/unsupported-modules; \
fi
[root@MHVTL kernel]#
[root@MHVTL kernel]# cd ..
[root@MHVTL mhvtl-0.18]# make
make -C usr USR=vtl GROUP=vtl MHVTL_HOME_PATH=/opt/mhvtl MHVTL_CONFIG_PATH=/etc/mhvtl
make[1]: Entering directory `/mhvtl/mhvtl-0.18/usr'
cc -Wall -Wshadow -g -O2 -D_LARGEFILE64_SOURCE -I../kernel -DMHVTL_VERSION=\"0.18.9\" -DMHVTL_DEBUG -DUSR=\"vtl\" -DMHVTL_HOME_PATH=\"/opt/mhvtl\" -DMHVTL_CONFIG_PATH=\"/etc/mhvtl\" -c -fpic vtllib.c
cc -Wall -Wshadow -g -O2 -D_LARGEFILE64_SOURCE -I../kernel -DMHVTL_VERSION=\"0.18.9\" -DMHVTL_DEBUG -DUSR=\"vtl\" -DMHVTL_HOME_PATH=\"/opt/mhvtl\" -DMHVTL_CONFIG_PATH=\"/etc/mhvtl\" -c -fpic spc.c
cc -shared -o libvtlscsi.so vtllib.o spc.o
cc -Wall -Wshadow -g -O2 -D_LARGEFILE64_SOURCE -I../kernel -DMHVTL_VERSION=\"0.18.9\" -DMHVTL_DEBUG -DUSR=\"vtl\" -DMHVTL_HOME_PATH=\"/opt/mhvtl\" -DMHVTL_CONFIG_PATH=\"/etc/mhvtl\" -c -o vtltape.o vtltape.c
cc -Wall -Wshadow -g -O2 -D_LARGEFILE64_SOURCE -I../kernel -DMHVTL_VERSION=\"0.18.9\" -DMHVTL_DEBUG -DUSR=\"vtl\" -DMHVTL_HOME_PATH=\"/opt/mhvtl\" -DMHVTL_CONFIG_PATH=\"/etc/mhvtl\" -c -o vtlcart.o vtlcart.c
cc -Wall -Wshadow -g -O2 -D_LARGEFILE64_SOURCE -I../kernel -DMHVTL_VERSION=\"0.18.9\" -DMHVTL_DEBUG -DUSR=\"vtl\" -DMHVTL_HOME_PATH=\"/opt/mhvtl\" -DMHVTL_CONFIG_PATH=\"/etc/mhvtl\" -c -o q.o q.c
cc -Wall -Wshadow -g -O2 -D_LARGEFILE64_SOURCE -I../kernel -DMHVTL_VERSION=\"0.18.9\" -DMHVTL_DEBUG -DUSR=\"vtl\" -DMHVTL_HOME_PATH=\"/opt/mhvtl\" -DMHVTL_CONFIG_PATH=\"/etc/mhvtl\" -o vtltape vtltape.o vtlcart.o q.o -lz -L. -lvtlscsi
cc -Wall -Wshadow -g -O2 -D_LARGEFILE64_SOURCE -I../kernel -DMHVTL_VERSION=\"0.18.9\" -DMHVTL_DEBUG -DUSR=\"vtl\" -DMHVTL_HOME_PATH=\"/opt/mhvtl\" -DMHVTL_CONFIG_PATH=\"/etc/mhvtl\" -c -o dump_tape.o dump_tape.c
cc -Wall -Wshadow -g -O2 -D_LARGEFILE64_SOURCE -I../kernel -DMHVTL_VERSION=\"0.18.9\" -DMHVTL_DEBUG -DUSR=\"vtl\" -DMHVTL_HOME_PATH=\"/opt/mhvtl\" -DMHVTL_CONFIG_PATH=\"/etc/mhvtl\" -o dump_tape dump_tape.o vtlcart.o -L. -lvtlscsi
cc -Wall -Wshadow -g -O2 -D_LARGEFILE64_SOURCE -I../kernel -DMHVTL_VERSION=\"0.18.9\" -DMHVTL_DEBUG -DUSR=\"vtl\" -DMHVTL_HOME_PATH=\"/opt/mhvtl\" -DMHVTL_CONFIG_PATH=\"/etc/mhvtl\" -c -o vtlcmd.o vtlcmd.c
cc -Wall -Wshadow -g -O2 -D_LARGEFILE64_SOURCE -I../kernel -DMHVTL_VERSION=\"0.18.9\" -DMHVTL_DEBUG -DUSR=\"vtl\" -DMHVTL_HOME_PATH=\"/opt/mhvtl\" -DMHVTL_CONFIG_PATH=\"/etc/mhvtl\" -o vtlcmd q.o vtlcmd.o
cc -Wall -Wshadow -g -O2 -D_LARGEFILE64_SOURCE -I../kernel -DMHVTL_VERSION=\"0.18.9\" -DMHVTL_DEBUG -DUSR=\"vtl\" -DMHVTL_HOME_PATH=\"/opt/mhvtl\" -DMHVTL_CONFIG_PATH=\"/etc/mhvtl\" -c -o dump_messageQ.o dump_messageQ.c
cc -Wall -Wshadow -g -O2 -D_LARGEFILE64_SOURCE -I../kernel -DMHVTL_VERSION=\"0.18.9\" -DMHVTL_DEBUG -DUSR=\"vtl\" -DMHVTL_HOME_PATH=\"/opt/mhvtl\" -DMHVTL_CONFIG_PATH=\"/etc/mhvtl\" -o dump_messageQ dump_messageQ.o q.o
cc -Wall -Wshadow -g -O2 -D_LARGEFILE64_SOURCE -I../kernel -DMHVTL_VERSION=\"0.18.9\" -DMHVTL_DEBUG -DUSR=\"vtl\" -DMHVTL_HOME_PATH=\"/opt/mhvtl\" -DMHVTL_CONFIG_PATH=\"/etc/mhvtl\" -c -o mktape.o mktape.c
cc -Wall -Wshadow -g -O2 -D_LARGEFILE64_SOURCE -I../kernel -DMHVTL_VERSION=\"0.18.9\" -DMHVTL_DEBUG -DUSR=\"vtl\" -DMHVTL_HOME_PATH=\"/opt/mhvtl\" -DMHVTL_CONFIG_PATH=\"/etc/mhvtl\" -o mktape mktape.o vtlcart.o -L. -lvtlscsi
cc -Wall -Wshadow -g -O2 -D_LARGEFILE64_SOURCE -I../kernel -DMHVTL_VERSION=\"0.18.9\" -DMHVTL_DEBUG -DUSR=\"vtl\" -DMHVTL_HOME_PATH=\"/opt/mhvtl\" -DMHVTL_CONFIG_PATH=\"/etc/mhvtl\" -c -o vtllibrary.o vtllibrary.c
cc -Wall -Wshadow -g -O2 -D_LARGEFILE64_SOURCE -I../kernel -DMHVTL_VERSION=\"0.18.9\" -DMHVTL_DEBUG -DUSR=\"vtl\" -DMHVTL_HOME_PATH=\"/opt/mhvtl\" -DMHVTL_CONFIG_PATH=\"/etc/mhvtl\" -o vtllibrary vtllibrary.o q.o -L. -lvtlscsi
sed -e s'/@HOME_PATH@/\/opt\/mhvtl/' make_vtl_media.in > make_vtl_media.1
sed -e s'/@CONF_PATH@/\/etc\/mhvtl/' make_vtl_media.1 > make_vtl_media
rm -f make_vtl_media.1
make[1]: Leaving directory `/mhvtl/mhvtl-0.18/usr'
make -C etc USR=vtl GROUP=vtl MHVTL_HOME_PATH=/opt/mhvtl MHVTL_CONFIG_PATH=/etc/mhvtl
make[1]: Entering directory `/mhvtl/mhvtl-0.18/etc'
make[1]: `mhvtl' is up to date.
make[1]: Leaving directory `/mhvtl/mhvtl-0.18/etc'
make -C scripts MHVTL_HOME_PATH=/opt/mhvtl MHVTL_CONFIG_PATH=/etc/mhvtl
make[1]: Entering directory `/mhvtl/mhvtl-0.18/scripts'
make[1]: `update_device.conf' is up to date.
make[1]: Leaving directory `/mhvtl/mhvtl-0.18/scripts'
[root@MHVTL mhvtl-0.18]#
[root@MHVTL mhvtl-0.18]# make install
make usr
make[1]: Entering directory `/mhvtl/mhvtl-0.18'
make -C usr USR=vtl GROUP=vtl MHVTL_HOME_PATH=/opt/mhvtl MHVTL_CONFIG_PATH=/etc/mhvtl
make[2]: Entering directory `/mhvtl/mhvtl-0.18/usr'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/mhvtl/mhvtl-0.18/usr'
make[1]: Leaving directory `/mhvtl/mhvtl-0.18'
make -C usr install /usr
make[1]: Entering directory `/mhvtl/mhvtl-0.18/usr'
install -d -m 755 /usr/lib64
install -o root -g bin -m 755 libvtlscsi.so /usr/lib64/
install -d -m 755 /usr/bin
install -o root -g vtl -m 4750 vtltape /usr/bin/
install -o root -g vtl -m 4750 vtllibrary /usr/bin/
install -o vtl -g vtl -m 750 vtlcmd /usr/bin/
install -o vtl -g vtl -m 750 mktape /usr/bin/
install -o vtl -g vtl -m 750 dump_tape /usr/bin/
install -m 700 build_library_config /usr/bin/
install -m 700 make_vtl_media /usr/bin/
install -m 700 make_vtl_devices /usr/bin/
make[1]: Warning: File `/usr' has modification time 2.3e+04 s in the future
make[1]: Nothing to be done for `/usr'.
make[1]: warning: Clock skew detected. Your build may be incomplete.
make[1]: Leaving directory `/mhvtl/mhvtl-0.18/usr'
make scripts
make[1]: Entering directory `/mhvtl/mhvtl-0.18'
make -C scripts MHVTL_HOME_PATH=/opt/mhvtl MHVTL_CONFIG_PATH=/etc/mhvtl
make[2]: Entering directory `/mhvtl/mhvtl-0.18/scripts'
make[2]: `update_device.conf' is up to date.
make[2]: Leaving directory `/mhvtl/mhvtl-0.18/scripts'
make[1]: Leaving directory `/mhvtl/mhvtl-0.18'
make -C scripts install
make[1]: Entering directory `/mhvtl/mhvtl-0.18/scripts'
install -m 700 update_device.conf /usr/bin/
make[1]: Leaving directory `/mhvtl/mhvtl-0.18/scripts'
make etc
make[1]: Entering directory `/mhvtl/mhvtl-0.18'
make -C etc USR=vtl GROUP=vtl MHVTL_HOME_PATH=/opt/mhvtl MHVTL_CONFIG_PATH=/etc/mhvtl
make[2]: Entering directory `/mhvtl/mhvtl-0.18/etc'
make[2]: `mhvtl' is up to date.
make[2]: Leaving directory `/mhvtl/mhvtl-0.18/etc'
make[1]: Leaving directory `/mhvtl/mhvtl-0.18'
make -C etc install
make[1]: Entering directory `/mhvtl/mhvtl-0.18/etc'
install -d -m 755 /etc
install -d -m 755 /etc/init.d
install -m 700 mhvtl /etc/init.d/
test ! -x /sbin/insserv || /sbin/insserv mhvtl
make[1]: Leaving directory `/mhvtl/mhvtl-0.18/etc'
啟動mhvtl服務
[root@MHVTL mhvtl-0.18]# service mhvtl start
vtltape: version 0.18.9
vtltape: version 0.18.9
vtltape: version 0.18.9
vtltape: version 0.18.9
vtltape: version 0.18.9
vtltape: version 0.18.9
vtltape: version 0.18.9
vtltape: version 0.18.9
vtllibrary: version 0.18.9
vtllibrary process PID is 3733
vtllibrary: version 0.18.9
vtllibrary process PID is 3737
檢視帶庫狀態
[root@MHVTL mhvtl-0.18]# lsscsi -g
[1:0:0:0] cd/dvd NECVMWar VMware IDE CDR10 1.00 /dev/sr0 /dev/sg0
[2:0:0:0] disk VMware, VMware Virtual S 1.0 /dev/sda /dev/sg1
[3:0:0:0] mediumx STK L700 /dev/sch0 /dev/sg10
[3:0:1:0] tape IBM ULT3580-TD5 /dev/st0 /dev/sg2
[3:0:2:0] tape IBM ULT3580-TD5 /dev/st1 /dev/sg3
[3:0:3:0] tape IBM ULT3580-TD4 /dev/st2 /dev/sg4
[3:0:4:0] tape IBM ULT3580-TD4 /dev/st3 /dev/sg5
[3:0:8:0] mediumx STK L80 /dev/sch1 /dev/sg11
[3:0:9:0] tape STK T10000B /dev/st4 /dev/sg6
[3:0:10:0] tape STK T10000B /dev/st5 /dev/sg7
[3:0:11:0] tape STK T10000B /dev/st6 /dev/sg8
[3:0:12:0] tape STK T10000B /dev/st7 /dev/sg9
3、設定開機自啟動mhvtl服務
[root@MHVTL mhvtl]# chkconfig mhvtl on
檢視生成的檔案 和配置檔案目錄
檢視配置檔案,預設每個磁帶大小500M
二、配置iscsi
安裝scsi-target-utils 執行以下命令,RHEL6.2 DVD裡面有install scsi-target-utils 這個包
[root@MHVTL mhvtl]# yum -y install scsi-target-utils
啟動服務,設定開機自啟動
檢視現有的target配置
新建一個target配置,並檢視
檢視現有的驅動器和機械臂
新增機械臂和驅動器到已建立的target
上一步報錯tgtadm: invalid reques,解決方法:先關掉selinux
檢視現有的target配置
[root@MHVTL kernel]# tgtadm --lld iscsi --op show --mode target
Target 1: iqn.2014-08.com.example:storage.vtl.liuzhen
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: IET 00010000
SCSI SN: beaf10
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Readonly: No
Backing store type: null
Backing store path: None
Backing store flags:
LUN: 1
Type: passthrough
SCSI ID: IET 00010001
SCSI SN: beaf11
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Readonly: No
Backing store type: sg
Backing store path: /dev/sg10
Backing store flags:
LUN: 2
Type: passthrough
SCSI ID: IET 00010002
SCSI SN: beaf12
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Readonly: No
Backing store type: sg
Backing store path: /dev/sg2
Backing store flags:
LUN: 3
Type: passthrough
SCSI ID: IET 00010003
SCSI SN: beaf13
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Readonly: No
Backing store type: sg
Backing store path: /dev/sg3
Backing store flags:
LUN: 4
Type: passthrough
SCSI ID: IET 00010004
SCSI SN: beaf14
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Readonly: No
Backing store type: sg
Backing store path: /dev/sg4
Backing store flags:
LUN: 5
Type: passthrough
SCSI ID: IET 00010005
SCSI SN: beaf15
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Readonly: No
Backing store type: sg
Backing store path: /dev/sg5
Backing store flags:
Account information:
ACL information:
設定targets訪問控制策略,允許同一網段訪問
關掉防火牆
windows client端連線測試
進入裝置管理器已經能夠看到機械臂和驅動器
前面命令有好多在截圖裡,在這裡列出
tgtadm --lld iscsi --op show --mode target
tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2014-08.com.example:storage.vtl.liuzhen
tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 --bstype=sg --device-type=pt -b /dev/sg10
tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 2 --bstype=sg --device-type=pt -b /dev/sg2
tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 3 --bstype=sg --device-type=pt -b /dev/sg3
tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 4 --bstype=sg --device-type=pt -b /dev/sg4
tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 5 --bstype=sg --device-type=pt -b /dev/sg5
tgtadm --lld iscsi --op show --mode target
tgtadm --lld iscsi --op bind --mode target --tid 1 -I 10.1.1.0/24
使用tgtadm可以配置targets,但只是臨時生效,重啟tgtd服務後,配置全部消失
如需永久生效,使用下面的方法修改配置檔案,修改完後重啟tgt服務即看到效果
[root@MHVTL tgt]# pwd
/etc/tgt
[root@MHVTL tgt]# tail targets.conf
<target iqn.2014-08.com.mhvtl75.nbusyd.com.liuzhen:mhvtl.target1>
device-type pt
bs-type sg
include /etc/tgt/mhvtl_targets.conf
allow-in-use yes
</target>
[root@MHVTL tgt]#
[root@MHVTL tgt]# cat /etc/tgt/mhvtl_targets.conf
backing-store /dev/sg10
backing-store /dev/sg2
backing-store /dev/sg3
backing-store /dev/sg4
backing-store /dev/sg5
檢視target狀態 ,下面命令和 tgtadm --lld iscsi --op show --mode target 功能基本一樣
[root@MHVTL tgt]# tgt-admin --show
Target 1: iqn.2014-08.com.mhvtl75.nbusyd.com.liuzhen:mhvtl.target1
System information:
Driver: iscsi
State: ready
I_T nexus information:
I_T nexus: 1
Initiator: iqn.1991-05.com.microsoft:win-opi7pesls6t
Connection: 1
IP Address: 10.1.1.10
LUN information:
LUN: 0
Type: controller
SCSI ID: IET 00010000
SCSI SN: beaf10
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Readonly: No
Backing store type: null
Backing store path: None
Backing store flags:
LUN: 1
Type: passthrough
SCSI ID: IET 00010001
SCSI SN: beaf11
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Readonly: No
Backing store type: sg
Backing store path: /dev/sg10
Backing store flags:
LUN: 2
Type: passthrough
SCSI ID: IET 00010002
SCSI SN: beaf12
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Readonly: No
Backing store type: sg
Backing store path: /dev/sg2
Backing store flags:
LUN: 3
Type: passthrough
SCSI ID: IET 00010003
SCSI SN: beaf13
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Readonly: No
Backing store type: sg
Backing store path: /dev/sg3
Backing store flags:
LUN: 4
Type: passthrough
SCSI ID: IET 00010004
SCSI SN: beaf14
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Readonly: No
Backing store type: sg
Backing store path: /dev/sg4
Backing store flags:
LUN: 5
Type: passthrough
SCSI ID: IET 00010005
SCSI SN: beaf15
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Readonly: No
Backing store type: sg
Backing store path: /dev/sg5
Backing store flags:
Account information:
ACL information:
ALL
配置完成。
此次只是做了簡單的連線使用測試,使用的是0.18版本,目前已經有1.5版本,還有很多細節需要完善,以後再一一測試。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30186176/viewspace-2096560/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mhvtl虛擬帶庫的安裝及使用
- 在Linux平臺使用mhVTL虛擬化磁帶庫(1)Linux
- 虛擬磁帶庫
- VTL_虛擬磁帶庫_轉摘
- redhat6 安裝虛擬帶庫筆記Redhat筆記
- windows10虛擬機器怎麼安裝mac_win10自帶虛擬機器如何安裝macWindows虛擬機MacWin10
- Oracle磁帶備份模擬Oracle
- xen安裝半虛擬化虛擬機器虛擬機
- 安裝虛擬機器虛擬機
- HP-UX上將磁帶機分配給虛擬機器使用UX虛擬機
- Hadoop詳細安裝步驟,附帶安裝完的虛擬機器。Hadoop虛擬機
- 虛擬帶庫為什麼不可能代替帶庫
- Tivoli 磁帶庫的磁帶初始化設定
- LEDE 虛擬機器安裝虛擬機
- 虛擬機器安裝ubuntu虛擬機Ubuntu
- ubuntu虛擬機器安裝Ubuntu虛擬機
- 在RedHat Linux下安裝惠普磁帶機(轉)RedhatLinux
- 虛擬印表機怎麼安裝 win10虛擬印表機安裝的方法Win10
- 安裝python虛擬環境並配置虛擬環境以及安裝scrapy模組Python
- Omnibus系列之 Object Server安裝 on RHEL6.2ObjectServer
- CentOS 7 安裝虛擬機器CentOS虛擬機
- 使用虛擬機器安裝Kail虛擬機AI
- kvm 安裝 windows 虛擬機器Windows虛擬機
- Mac 安裝Windows虛擬機器MacWindows虛擬機
- MacOS安裝虛擬機器教程Mac虛擬機
- centos中安裝虛擬機器CentOS虛擬機
- 虛擬機器kali安裝vmtools虛擬機
- RHEL6.2下掛載光碟機安裝軟體
- 虛擬機器安裝教程win10安裝步驟 win10系統如何安裝虛擬系統虛擬機Win10
- win10安裝xp虛擬機器安裝教程_win10安裝xp虛擬機器詳細步驟Win10虛擬機
- Centos7虛擬機器安裝CentOS虛擬機
- 在虛擬機器中安裝ftp虛擬機FTP
- 單個虛擬機器安裝spark虛擬機Spark
- 虛擬機器Tomcat的安裝虛擬機Tomcat
- Linux 安裝 KVM 虛擬機器Linux虛擬機
- 在虛擬機器安裝OpenSuse Tumbleweed虛擬機
- windows安裝Python虛擬環境WindowsPython
- 虛擬機器安裝rac傻瓜教程虛擬機