iSCSI là viết tắt của (Internet Small Computer System Interface) là một giao thức Storage Area Network (SAN) có thể được sử dụng để quản lý lưu trữ trực tuyến. Đây là một tiêu chuẩn mạng lưu trữ dựa trên IP cung cấp quyền truy cập cấp khối vào các thiết bị lưu trữ bằng cách truyền lệnh SCSI qua mạng TCP/IP.
iSCSI bao gồm hai thành phần là iSCSI target và iSCSI initiator. Mục tiêu iSCSI là một dịch vụ trên máy chủ iSCSI cung cấp quyền truy cập vào bộ lưu trữ được chia sẻ và bộ khởi tạo iSCSI là một máy khách iSCSI kết nối với mục tiêu và truy cập vào bộ lưu trữ được chia sẻ.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách thiết lập mục tiêu iSCSI và bộ khởi tạo iSCSI trên máy chủ Ubuntu 18.04.
Sau khi cả hai máy chủ được cập nhật, hãy khởi động lại chúng để áp dụng các thay đổi.
Sau khi TGT đã được cài đặt, hãy kiểm tra trạng thái của TGT bằng cách chạy lệnh sau:
Bạn sẽ thấy đầu ra sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Bạn có thể thực hiện bằng cách tạo tệp cấu hình bên trong thư mục /etc/tgt/conf.d:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động lại dịch vụ TGT để áp dụng các thay đổi cấu hình:
Sau đây là giải thích ngắn gọn về từng tham số:
target : Đây là tên của mục tiêu cụ thể.
backing-store : Tùy chọn này chỉ định đĩa lưu trữ sẽ được người khởi tạo sử dụng.
initiator-address : Đây là địa chỉ IP của người khởi tạo.
incominguser : Đây là tên người dùng/mật khẩu đến để bảo mật LUN.
outgoinguser : Đây là tên người dùng/mật khẩu đi để xác thực CHAP lẫn nhau.
Sau khi khởi động lại dịch vụ TGT, hãy kiểm tra máy chủ mục tiêu iSCSI bằng lệnh sau:
Bạn sẽ thấy mục tiêu iSCSI đang được tạo có sẵn:
Sau khi cài đặt hoàn tất, hãy chạy lệnh khám phá mục tiêu trên máy chủ mục tiêu iSCSI của chúng tôi để tìm ra các mục tiêu được chia sẻ.
Bạn sẽ thấy mục tiêu khả dụng trong đầu ra sau:
Lệnh trên cũng tạo ra hai tệp có thông tin LUN. Bạn có thể xem chúng bằng lệnh sau:
Bạn sẽ thấy các tệp sau:
Tiếp theo, bạn sẽ cần chỉnh sửa tệp mặc định và xác định thông tin CHAP mà bạn đã định cấu hình trên mục tiêu iSCSI để truy cập mục tiêu iSCSI từ trình khởi tạo iSCSI.
Thêm / Thay đổi các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động lại dịch vụ khởi tạo iSCSI để áp dụng các thay đổi cấu hình:
Bạn sẽ thấy kết quả sau:
Bây giờ bạn có thể kiểm tra đĩa lưu trữ được chia sẻ từ mục tiêu iSCSI bằng lệnh sau:
Bạn sẽ thấy đĩa lưu trữ hiện có sẵn cho trình khởi tạo dưới dạng sdb:
Bạn cũng có thể xác minh các kết nối iSCSI bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Tiếp theo, bạn sẽ cần tạo một hệ thống tệp trên thiết bị dùng chung này (sdb) và gắn kết nó để thiết bị này có thể sử dụng được.
Đầu tiên, hãy tạo một hệ thống tệp trên thiết bị dùng chung (sdb) bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Tiếp theo, định dạng phân vùng này bằng lệnh sau:
Tiếp theo, gắn phân vùng này vào thư mục /mnt bằng lệnh sau:
Bây giờ, bạn có thể kiểm tra thiết bị đã gắn bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Xin chúc mừng! bạn đã cài đặt thành công máy chủ đích iSCSI và kết nối nó từ bộ khởi tạo iSCSI. Bây giờ bạn có thể sử dụng thiết bị iSCSI dùng chung này như đĩa được gắn bình thường.
iSCSI bao gồm hai thành phần là iSCSI target và iSCSI initiator. Mục tiêu iSCSI là một dịch vụ trên máy chủ iSCSI cung cấp quyền truy cập vào bộ lưu trữ được chia sẻ và bộ khởi tạo iSCSI là một máy khách iSCSI kết nối với mục tiêu và truy cập vào bộ lưu trữ được chia sẻ.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách thiết lập mục tiêu iSCSI và bộ khởi tạo iSCSI trên máy chủ Ubuntu 18.04.
Yêu cầu
- Máy chủ Ubuntu 18.04 mới cho mục tiêu iSCSI với ổ cứng ngoài 2 GB.
- Máy chủ Ubuntu 18.04 mới cho bộ khởi tạo iSCSI.
- Địa chỉ IP tĩnh 192.168.0.103 được định cấu hình trên mục tiêu iSCSI và 192.168.0.102 được định cấu hình trên bộ khởi tạo iSCSI.
- Mật khẩu gốc được định cấu hình trên cả hai máy chủ.
Bắt đầu
Trước bắt đầu, bạn sẽ cần cập nhật cả hai máy chủ lên phiên bản mới nhất. Bạn có thể cập nhật chúng bằng cách chạy lệnh sau trên cả hai $
Mã:
apt-get update -y
apt-get upgrade -y
Cài đặt iSCSI Target
Trước tiên, bạn sẽ cần cài đặt gói Target Framework (TGT) trên máy chủ mục tiêu iSCSI. Bạn có thể cài đặt nó bằng lệnh sau:
Mã:
apt-get install tgt -y
Mã:
systemctl status tgt
Mã:
? tgt.service - (i)SCSI target daemon Đã tải: đã tải (/lib/systemd/system/tgt.service; enabled; vendor preset: enabled) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ sáu 2019-11-08 07:40:28 UTC; 27 giây trước Tài liệu: man:tgtd(8) PID chính: 2343 (tgtd) Trạng thái: "Đang bắt đầu vòng lặp sự kiện..." Nhiệm vụ: 1 CGroup: /system.slice/tgt.service ??2343 /usr/sbin/tgtd -f08/11 07:40:28 ubuntu systemd[1]: Đang bắt đầu daemon mục tiêu (i)SCSI...08/11 07:40:28 ubuntu tgtd[2343]: tgtd: iser_ib_init(3431) Không khởi tạo được RDMA; tải các mô-đun hạt nhân?Nov 08 07:40:28 ubuntu tgtd[2343]: tgtd: work_timer_start(146) sử dụng bộ lập lịch dựa trên timer_fdNov 08 07:40:28 ubuntu tgtd[2343]: tgtd: bs_init(387) sử dụng thông báo signalfdNov 08 07:40:28 ubuntu systemd[1]: Đã khởi động (i)SCSI target daemon.
Cấu hình iSCSI Target
Tiếp theo, bạn sẽ cần tạo một thiết bị LUN (Logical Unit Number) trên máy chủ iSCSI của mình. LUN là thiết bị lưu trữ phụ trợ mà trình khởi tạo sẽ kết nối và sử dụng sau này.Bạn có thể thực hiện bằng cách tạo tệp cấu hình bên trong thư mục /etc/tgt/conf.d:
Mã:
nano /etc/tgt/conf.d/iscsi.conf
Mã:
# Cung cấp thiết bị làm mục tiêu iSCSI backing-store /dev/sdb1 initiator-address 192.168.0.102 incominguser iscsi-user password outgoinguser iscsi-target secretpass
Mã:
systemctl restart tgt
target : Đây là tên của mục tiêu cụ thể.
backing-store : Tùy chọn này chỉ định đĩa lưu trữ sẽ được người khởi tạo sử dụng.
initiator-address : Đây là địa chỉ IP của người khởi tạo.
incominguser : Đây là tên người dùng/mật khẩu đến để bảo mật LUN.
outgoinguser : Đây là tên người dùng/mật khẩu đi để xác thực CHAP lẫn nhau.
Sau khi khởi động lại dịch vụ TGT, hãy kiểm tra máy chủ mục tiêu iSCSI bằng lệnh sau:
Mã:
tgtadm --mode target --op show
Mã:
Mục tiêu 1: iqn.2019-11.example.com:lun1 Thông tin hệ thống: Trình điều khiển: iscsi Trạng thái: sẵn sàng Thông tin I_T nexus: Thông tin LUN: LUN: 0 Loại: bộ điều khiển ID SCSI: IET 00010000 SN SCSI: beaf10 Kích thước: 0 MB, Kích thước khối: 1 Trực tuyến: Có Phương tiện lưu trữ di động: Không Ngăn chặn xóa: Không Chỉ đọc: Không SWP: Không Cung cấp mỏng: Không Loại lưu trữ sao lưu: null Đường dẫn lưu trữ sao lưu: Không Cờ lưu trữ sao lưu: LUN: 1 Loại: đĩa ID SCSI: IET 00010001 SN SCSI: beaf11 Kích thước: 2146 MB, Kích thước khối: 512 Trực tuyến: Có Phương tiện lưu trữ di động: Không Ngăn chặn xóa: Không Chỉ đọc: Không SWP: Không Cung cấp mỏng: Không Loại lưu trữ sao lưu: rdwr Đường dẫn lưu trữ sao lưu: /dev/sdb1 Cờ lưu trữ sao lưu: Thông tin tài khoản: iscsi-user Thông tin ACL iscsi-target (outgoing): 192.168.0.102
Cài đặt và cấu hình iSCSI Initiator
Tiếp theo, bạn sẽ cần cài đặt gói iSCSI initiator trên máy chủ iSCSI initiator. Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install open-iscsi -y
Mã:
iscsiadm -m discovery -t st -p 192.168.0.103
Mã:
192.168.0.103:3260,1 iqn.2019-11.example.com:lun1
Mã:
ls -l /etc/iscsi/nodes/iqn.2019-11.example.com\:lun1/192.168.0.103\,3260\,1/ /etc/iscsi/send_targets/192.168.0.103,3260/
Mã:
/etc/iscsi/nodes/iqn.2019-11.example.com:lun1/192.168.0.103,3260,1/:tổng số 4-rw------- 1 root root 1840 8 tháng 11 13:17 mặc định/etc/iscsi/send_targets/192.168.0.103,3260/:tổng số 8lrwxrwxrwx 1 root root 66 8 tháng 11 13:17 iqn.2019-11.example.com:lun1,192.168.0.103,3260,1,default -> /etc/iscsi/nodes/iqn.2019-11.example.com:lun1/192.168.0.103,3260,1-rw------- 1 root root 547 8 tháng 11 13:17 st_config
Mã:
nano /etc/iscsi/nodes/iqn.2019-11.example.com\:lun1/192.168.0.103\,3260\,1/default
Mã:
node.session.auth.authmethod = CHAPnode.session.auth.username = iscsi-usernode.session.auth.password = passwordnode.session.auth.username_in = iscsi-targetnode.session.auth.password_in = secretpassnode.startup = automatic
Mã:
systemctl restart open-iscsi
Mã:
* Gỡ gắn hệ thống tệp được iscsi hỗ trợ [OK] * Ngắt kết nối các mục tiêu iSCSI iscsiadm: Không tìm thấy phiên phù hợp [OK] * Dừng dịch vụ khởi tạo iSCSI [OK] * Khởi động dịch vụ khởi tạo iSCSI iscsid [OK] * Thiết lập các mục tiêu iSCSIĐang đăng nhập vào [iface: default, target: iqn.2019-11.example.com:lun1, portal: 192.168.0.103,3260] (nhiều)Đăng nhập vào [iface: default, target: iqn.2019-11.example.com:lun1, portal: 192.168.0.103,3260] thành công. [ OK ] * Gắn hệ thống tệp mạng [ OK ]
Mã:
lsblk
Mã:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 465.8G 0 disk??sda1 8:1 0 93.1G 0 part /??sda2 8:2 0 1K 0 part??sda5 8:5 0 186.3G 0 part /home??sda6 8:6 0 181.6G 0 part /Data??sda7 8:7 0 4.8G 0 part [SWAP]sdb 8:16 0 2G 0 disk
Mã:
tgtadm --mode conn --op show --tid 1
Mã:
Phiên: 1 Kết nối: 0 Người khởi tạo: iqn.1993-08.org.debian:01:2e1e2383de41 Địa chỉ IP: 192.168.0.102
Đầu tiên, hãy tạo một hệ thống tệp trên thiết bị dùng chung (sdb) bằng lệnh sau:
Mã:
fdisk /dev/sdb
Mã:
Chào mừng đến với fdisk (util-linux 2.31.1).Các thay đổi sẽ chỉ nằm trong bộ nhớ, cho đến khi bạn quyết định ghi chúng.Hãy cẩn thận trước khi sử dụng lệnh write.Thiết bị không chứa bảng phân vùng được nhận dạng.Đã tạo nhãn đĩa DOS mới với mã định danh đĩa 0x06091fe8.Lệnh (m để được trợ giúp): nLoại phân vùng p chính (0 chính, 0 mở rộng, 4 trống) e mở rộng (bộ chứa cho các phân vùng logic)Chọn (mặc định p): pSố phân vùng (1-4, mặc định 1):Khu vực đầu tiên (2048-4194303, mặc định 2048):Khu vực cuối cùng, +sectors hoặc +size{K,M,G,T,P} (2048-4194303, mặc định 4194303):Đã tạo phân vùng mới 1 thuộc loại 'Linux' và có kích thước 2 GiB.Lệnh (m để được trợ giúp): wBảng phân vùng đã bị thay đổi.Gọi ioctl() để đọc lại bảng phân vùng.Đồng bộ hóa đĩa.
Mã:
mkfs.ext4 /dev/sdb1
Mã:
mount /dev/sdb1 /mnt
Mã:
df -h
Mã:
Kích thước hệ thống tệp đã sử dụng Có sẵn Sử dụng% Đã gắn trênudev 1,9G 4,0K 1,9G 1% /devtmpfs 384M 1,2M 383M 1% /run/dev/sda1 92G 36G 51G 42% /none 4,0K 0 4,0K 0% /sys/fs/cgroupnone 5.0M 0 5.0M 0% /run/locknone 1.9G 54M 1.9G 3% /run/shmnone 100M 48K 100M 1% /run/user/dev/sda5 184G 96G 79G 55% /home/dev/sda6 179G 32G 138G 19% /Data/dev/sdb1 2.0G 3.0M 1.9G 1% /mnt