17.4 配置Linux客戶端

2022-06-01 11:06 更新

我們在前面的章節(jié)中已經(jīng)配置了很多Linux服務(wù),基本上可以說,無論是什么服務(wù),客戶端的配置步驟都要比服務(wù)端的配置步驟簡單一些。在RHEL 7系統(tǒng)中,已經(jīng)默認(rèn)安裝了iSCSI客戶端服務(wù)程序initiator。如果您的系統(tǒng)沒有安裝的話,可以使用Yum軟件倉庫手動安裝。

    [root@linuxprobe ~]# yum install iscsi-initiator-utils 
    Loaded plugins: langpacks, product-id, subscription-manager 
    Package iscsi-initiator-utils-6.2.0.873-21.el7.x86_64 already installed and latest version 
    Nothing to do

前面講到,iSCSI協(xié)議是通過客戶端的名稱來進(jìn)行驗(yàn)證,而該名稱也是iSCSI客戶端的唯一標(biāo)識,而且必須與服務(wù)端配置文件中訪問控制列表中的信息一致,否則客戶端在嘗試訪問存儲共享設(shè)備時,系統(tǒng)會彈出驗(yàn)證失敗的保存信息。

下面我們編輯iSCSI客戶端中的initiator名稱文件,把服務(wù)端的訪問控制列表名稱填寫進(jìn)來,然后重啟客戶端iscsid服務(wù)程序并將其加入到開機(jī)啟動項中:

    [root@linuxprobe ~]# vim /etc/iscsi/initiatorname.iscsi
    InitiatorName=iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80:client
    [root@linuxprobe ~]# systemctl restart iscsid
    [root@linuxprobe ~]# systemctl enable iscsid
     ln -s '/usr/lib/systemd/system/iscsid.service' '/etc/systemd/system/multi-user.target.wants/iscsid.service'

iSCSI客戶端訪問并使用共享存儲資源的步驟很簡單,只需要記住劉遄老師的一個小口訣“先發(fā)現(xiàn),再登錄,最后掛載并使用”。iscsiadm是用于管理、查詢、插入、更新或刪除iSCSI數(shù)據(jù)庫配置文件的命令行工具,用戶需要先使用這個工具掃描發(fā)現(xiàn)遠(yuǎn)程iSCSI服務(wù)端,然后查看找到的服務(wù)端上有哪些可用的共享存儲資源。其中,-m discovery參數(shù)的目的是掃描并發(fā)現(xiàn)可用的存儲資源,-t st參數(shù)為執(zhí)行掃描操作的類型,-p 192.168.10.10參數(shù)為iSCSI服務(wù)端的IP地址:

    [root@linuxprobe ~]# iscsiadm -m discovery -t st -p 192.168.10.10
    192.168.10.10:3260,1 iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80

在使用iscsiadm命令發(fā)現(xiàn)了遠(yuǎn)程服務(wù)器上可用的存儲資源后,接下來準(zhǔn)備登錄iSCSI服務(wù)端。其中,-m node參數(shù)為將客戶端所在主機(jī)作為一臺節(jié)點(diǎn)服務(wù)器,-T iqn.2003-01. org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80參數(shù)為要使用的存儲資源(大家可以直接復(fù)制前面命令中掃描發(fā)現(xiàn)的結(jié)果,以免錄入錯誤),-p 192.168.10.10參數(shù)依然為對方iSCSI服務(wù)端的IP地址。最后使用--login或-l參數(shù)進(jìn)行登錄驗(yàn)證。

    [root@linuxprobe ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80 -p 192.168.10.10 --login
    Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80, portal: 192.168.10.10,3260] (multiple)
    Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80, portal: 192.168.10.10,3260] successful.

在iSCSI客戶端成功登錄之后,會在客戶端主機(jī)上多出一塊名為/dev/sdb的設(shè)備文件。第6章曾經(jīng)講過,udev服務(wù)在命名硬盤名稱時,與硬盤插槽是沒有關(guān)系的。接下來可以像使用本地主機(jī)上的硬盤那樣來操作這個設(shè)備文件了。

[root@linuxprobe ~]# file /dev/sdb 
/dev/sdb: block special

下面進(jìn)入標(biāo)準(zhǔn)的磁盤操作流程??紤]到大家已經(jīng)在第6章學(xué)習(xí)了這部分內(nèi)容,外加這個設(shè)備文件本身只有40GB的容量,因此我們不再進(jìn)行分區(qū),而是直接格式化并掛載使用。

    [root@linuxprobe ~]# mkfs.xfs /dev/sdb
    log stripe unit (524288 bytes) is too large (maximum is 256KiB)
    log stripe unit adjusted to 32KiB
    meta-data=/dev/sdb               isize=256    agcount=16, agsize=654720 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=0
    data     =                       bsize=4096   blocks=10475520, imaxpct=25
             =                       sunit=128    swidth=256 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
    log      =internal log           bsize=4096   blocks=5120, version=2
             =                       sectsz=512   sunit=8 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    [root@linuxprobe ~]# mkdir /iscsi
    [root@linuxprobe ~]# mount /dev/sdb /iscsi
    [root@linuxprobe ~]# df -h
    Filesystem             Size  Used Avail Use% Mounted on
    /dev/mapper/rhel-root   18G  3.4G   15G  20% /
    devtmpfs               734M     0  734M   0% /dev
    tmpfs                  742M  176K  742M   1% /dev/shm
    tmpfs                  742M  8.8M  734M   2% /run
    tmpfs                  742M     0  742M   0% /sys/fs/cgroup
    /dev/sr0               3.5G  3.5G     0 100% /media/cdrom
    /dev/sda1              497M  119M  379M  24% /boot
    /dev/sdb                40G   33M   40G   1% /iscsi

從此以后,這個設(shè)備文件就如同是客戶端本機(jī)主機(jī)上的硬盤那樣工作。需要提醒大家的是,由于udev服務(wù)是按照系統(tǒng)識別硬盤設(shè)備的順序來命名硬盤設(shè)備的,當(dāng)客戶端主機(jī)同時使用多個遠(yuǎn)程存儲資源時,如果下一次識別遠(yuǎn)程設(shè)備的順序發(fā)生了變化,則客戶端掛載目錄中的文件也將隨之混亂。為了防止發(fā)生這樣的問題,我們應(yīng)該在/etc/fstab配置文件中使用設(shè)備的UUID唯一標(biāo)識符進(jìn)行掛載,這樣,不論遠(yuǎn)程設(shè)備資源的識別順序再怎么變化,系統(tǒng)也能正確找到設(shè)備所對應(yīng)的目錄。

blkid命令用于查看設(shè)備的名稱、文件系統(tǒng)及UUID??梢允褂霉艿婪ㄔ斠姷?章)進(jìn)行過濾,只顯示與/dev/sdb設(shè)備相關(guān)的信息:

    [root@linuxprobe ~]# blkid | grep /dev/sdb
    /dev/sdb: UUID="eb9cbf2f-fce8-413a-b770-8b0f243e8ad6" TYPE="xfs" 

劉遄老師還要再啰嗦一句,由于/dev/sdb是一塊網(wǎng)絡(luò)存儲設(shè)備,而iSCSI協(xié)議是基于TCP/IP網(wǎng)絡(luò)傳輸數(shù)據(jù)的,因此必須在/etc/fstab配置文件中添加上_netdev參數(shù),表示當(dāng)系統(tǒng)聯(lián)網(wǎng)后再進(jìn)行掛載操作,以免系統(tǒng)開機(jī)時間過長或開機(jī)失敗:

    [root@linuxprobe ~]# vim /etc/fstab
    #
    # /etc/fstab
    # Created by anaconda on Wed May 4 19:26:23 2017
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/rhel-root / xfs defaults 1 1
    UUID=812b1f7c-8b5b-43da-8c06-b9999e0fe48b /boot xfs defaults 1 2
    /dev/mapper/rhel-swap swap swap defaults 0 0
    /dev/cdrom /media/cdrom iso9660 defaults 0 0 
    UUID=eb9cbf2f-fce8-413a-b770-8b0f243e8ad6 /iscsi xfs defaults,_netdev 0 0

如果我們不再需要使用iSCSI共享設(shè)備資源了,可以用iscsiadm命令的-u參數(shù)將其設(shè)備卸載:

    [root@linuxprobe ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80 -u


    Logging out of session [sid: 7, target : iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80, portal: 192.168.10.10,3260]


    Logout of [sid: 7, target: iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80,portal:192.168.10.10,3260] successful.
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號