Linux下iscsi基本操作

本文介绍了Linux系统中设置iSCSI target和initiator的基本操作,包括所需的软件工具scsi-target-utils和iscsi-initiator-utils。重点讨论了tgt软件,其主要配置文件/etc/tgt/targets.conf,以及如何通过该文件设置iSCSI目标。内容涵盖了iSCSI target的各种共享磁盘类型,并提供了实际操作步骤,包括磁盘准备、设置iqn名称、修改targets.conf文件、启动服务以及防火墙配置。此外,还讲述了iscsi-initiator-utils的使用,包括iscsid.conf的修改、iscsiadm命令的运用以及连接和挂载iSCSI目标。
摘要由CSDN通过智能技术生成
18.2 iSCSI target 的設定

能夠完成 iSCSI target/initiator 設定的專案非常多 (註4),鳥哥找的到的就有底下這幾個:

由於被我們 CentOS 6.x 官方直接使用的是 tgt 這個軟體,因此底下我們會使用 tgt 來介紹整個 iSCSI target 的設定喔!


小標題的圖示18.2.1 所需軟體與軟體結構

CentOS 將 tgt 的軟體名稱定義為 scsi-target-utils ,因此你得要使用 yum 去安裝他才行。至於用來作為 initiator 的軟體則是使用 linux-iscsi 的專案,該專案所提供的軟體名稱則為 iscsi-initiator-utils 。所以,總的來說,你需要的軟體有:

  • scsi-target-utils:用來將 Linux 系統模擬成為 iSCSI target 的功能;
  • iscsi-initiator-utils:掛載來自 target 的磁碟到 Linux 本機上。

那麼 scsi-target-utils 主要提供哪些檔案呢?基本上有底下幾個比較重要需要注意的:

  • /etc/tgt/targets.conf:主要設定檔,設定要分享的磁碟格式與哪幾顆;
  • /usr/sbin/tgt-admin:線上查詢、刪除 target 等功能的設定工具;
  • /usr/sbin/tgt-setup-lun:建立 target 以及設定分享的磁碟與可使用的用戶端等工具軟體。
  • /usr/sbin/tgtadm:手動直接管理的管理員工具 (可使用設定檔取代);
  • /usr/sbin/tgtd:主要提供 iSCSI target 服務的主程式;
  • /usr/sbin/tgtimg:建置預計分享的映像檔裝置的工具 (以映像檔模擬磁碟);

其實 CentOS 已經將很多功能都設定好了,因此我們只要修訂設定檔,然後啟動 tgtd 這個服務就可以囉! 接下來,就讓我們實際來玩一玩 iSCSI target 的設定吧!


小標題的圖示18.2.2 target 的實際設定

從上面的分析來看,iSCSI 就是透過一個網路介面,將既有的磁碟給分享出去就是了。那麼有哪些類型的磁碟可以分享呢? 這包括:

  • 使用 dd 指令所建立的大型檔案可供模擬為磁碟 (無須預先格式化);
  • 使用單一分割槽 (partition) 分享為磁碟;
  • 使用單一完整的磁碟 (無須預先分割);
  • 使用磁碟陣列分享 (其實與單一磁碟相同方式);
  • 使用軟體磁碟陣列 (software raid) 分享成單一磁碟;
  • 使用 LVM 的 LV 裝置分享為磁碟。

其實沒有那麼複雜,我們大概知道可以透過 (1)大型檔案; (2)單一分割槽; (3)單一裝置 (包括磁碟、陣列、軟體磁碟陣列、LVM 的 LV 裝置檔名等等) 來進行分享。在本小節當中,我們將透過新的分割產生新的沒有用到的分割槽、LVM 邏輯捲軸、大型檔案等三個咚咚來進行分享。既然如此,那就得要先來搞定這些咚咚囉! 要注意喔,等一下我們要分享出去的資料,最好不要被使用,也最好不要開機就被掛載 (/etc/fstab 當中沒有存在記錄的意思)。 那麼就來玩玩看囉!


  • 建立所需要的磁碟裝置

既然 iSCSI 要分享的是磁碟,那麼我們得要準備好啊!目前預計準備的磁碟為:

  • 建立一個名為 /srv/iscsi/disk1.img 的 500MB 檔案;
  • 使用 /dev/sda10 提供 2GB 作為分享 (從第一章到目前為止的分割數);
  • 使用 /dev/server/iscsi01 的 2GB LV 作為分享 (再加入 5GB /dev/sda11 到 server VG 中)。

實際處理的方式如下:

# 1. 建立大型檔案:
[root@www ~]# mkdir /srv/iscsi
[root@www ~]# dd if=/dev/zero of=/srv/iscsi/disk1.img bs=1M count=500
[root@www ~]# chcon -Rv -t tgtd_var_lib_t /srv/iscsi/
[root@www ~]# ls -lh /srv/iscsi/disk1.img
-rw-r--r--. 1 root root 500M Aug  2 16:22 /srv/iscsi/disk1.img <==容量對的!

# 2. 建立實際的 partition 分割:
[root@www ~]# fdisk /dev/sda  <==實際的分割方式自己處理吧!
[root@www ~]# partprobe       <==某些情況下得 reboot 喔!
[root@www ~]# fdisk -l
   Device Boot      Start         End      Blocks   Id  System
/dev/sda10           2202        2463     2104483+  83  Linux
/dev/sda11           2464        3117     5253223+  8e  Linux LVM
# 只有輸出 /dev/sda{10,11} 資訊,其他的都省略了。注意看容量,上述容量單位 KB

[root@www ~]# swapon -s; mount | grep 'sda1'
# 自己測試一下 /dev/sda{10,11} 不能夠被使用喔!若有被使用,請 umount 或 swapoff

# 3. 建立 LV 裝置 :
[root@www ~]# pvcreate /dev/sda11
[root@www ~]# vgextend server /dev/sda11
[root@www ~]# lvcreate -L 2G -n iscsi01 server
[root@www ~]# lvscan
  ACTIVE            '/dev/server/myhome' [6.88 GiB] inherit
  ACTIVE            '/dev/server/iscsi01' 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值