1. Triển khai dịch vụ Target bằng targetcli
Phương pháp được khuyến nghị hiện nay là sử dụng giao diện quản lý targetcli. Trước tiên, cài đặt các gói công cụ cần thiết:
yum -y install targetcli iscsi-initiator-utils
Truy nhập vào trình vỏ lệnh tương tác để xây dựng khối lưu trữ ảo và định cấu hình mục tiêu:
[root@srv ~]# targetcli
targetcli shell version ...
/> cd backstores/fileio
/backstores/fileio> create vol_data_01 /data/iscsi_images/vol_data_01.img 5G
/backstores/fileio> cd /iscsi
/iscsi> create iqn.2024-08.storage.local:server.target01
/iscsi> cd iqn.2024-08.storage.local:server.target01/tpg1/luns
/iscsi/.../luns> create /backstores/fileio/vol_data_01
/iscsi/.../luns> cd ../acls
/iscsi/.../acls> create iqn.2024-08.storage.local:client01
/iscsi/.../acls> cd iqn.2024-08.storage.local:client01
/iscsi/.../client01> set auth userid admin_sc
/iscsi/.../client01> set auth password SecP@ss123
/iscsi/.../client01> exit
Khởi động dịch vụ, đặt chế độ tự động chạy khi khởi động và cấu hình tường lửa:
systemctl enable --now target
firewall-cmd --permanent --add-service=iscsi-target
firewall-cmd --reload
ss -tlnp | grep 3260
2. Cấu hình Target sử dụng scsi-target-utils (tgtd)
Đối với môi trường legacy hoặc yêu cầu riêng, có thể triển khai qua gói scsi-target-utils. Cài đặt từ kho EPEL:
yum --enablerepo=epel -y install scsi-target-utils
Chuẩn bị file ảnh đĩa và chỉnh sửa file cấu hình chính /etc/tgt/targets.conf:
# Tạo thư mục chứa và file ảnh rỗng 5GB
mkdir -p /data/iscsi_images
truncate -s 5G /data/iscsi_images/disk_remote.img
# Điều chỉnh cấu hình target
vi /etc/tgt/targets.conf
<target iqn.2024-08.storage.local:tgtd_target01>
backing-store /data/iscsi_images/disk_remote.img
initiator-address 192.168.10.0/24
incominguser admin_sc SecP@ss123
</target>
Thiết lập ngữ cảnh SELinux (nếu đang hoạt động) và cho phép giao thức qua tường lửa:
chcon -R -t tgtd_var_lib_t /data/iscsi_images
semanage fcontext -a -t tgtd_var_lib_t "/data/iscsi_images(/.*)?"
firewall-cmd --permanent --add-service=iscsi-target && firewall-cmd --reload
systemctl enable --now tgtd
tgtadm --mode target --op show
3. Định cấu hình và kết nối từ máy khách (Initiator)
Cài đặt công cụ khởi tạo trên đầu cuối và thiết lập thông tin xác thực:
yum -y install iscsi-initiator-utils
vi /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2024-08.storage.local:client01
vi /etc/iscsi/iscsid.conf
node.session.auth.authmethod = CHAP
node.session.auth.username = admin_sc
node.session.auth.password = SecP@ss123
Khởi động dịch vụ initiator, quét tìm target và thực hiện kết nối:
systemctl enable --now iscsid
iscsiadm -m discovery -t sendtargets -p 192.168.10.20
iscsiadm -m node -T iqn.2024-08.storage.local:server.target01 -l
iscsiadm -m session -o show
4. Chuẩn bị hệ thống tập tin và gắn kết thiết bị
Sau khi thiết lập kết nối thành công, hệ thống sẽ nhận diện khối lưu trữ mới dưới dạng thiết bị block (ví dụ /dev/sdb). Tiến hành phân vùng, định dạng và gắn kết vào cây thư mục:
# Tạo bảng phân vùng và vùng chính
parted --script /dev/sdb mklabel gpt
parted --script /dev/sdb mkpart primary 1MiB 100%
# Định dạng phân vùng bằng hệ thống XFS
mkfs.xfs -f -i size=512 -s size=4096 /dev/sdb1
# Tạo điểm gắn kết và thực hiện mount
mkdir -p /mnt/iscsi_vol
mount /dev/sdb1 /mnt/iscsi_vol
df -hT /mnt/iscsi_vol
5. Bộ lệnh vận hành tham khảo
Để quản lý kết nối mạng khối trong quá trình khai thác, tham khảo các cú pháp chuẩn:
- Phát hiện Target trên mạng:
iscsiadm -m discovery -t sendtargets -p <ip_may_chu> - Kết nối thủ công đến Target:
iscsiadm -m node -T <iqn_target> -p <ip_may_chu>:3260 -l - Ngắt kết nối phiên làm việc:
iscsiadm -m node -T <iqn_target> -u - Xóa mục cấu hình khỏi danh sách node:
iscsiadm -m node -T <iqn_target> -o delete