LPIC-System Administrator - Hướng dẫn tạo phân vùng ISCSI Storage target trên centos 7


Wow, hôm nay nói chuyện về ISCSI, ok cái này làm trên SAN, với Windowns nhiều rồi, giờ làm phát trên Linux Centos 7. Như trên windowns tạo ISCSI Target rất đơn giản, chỉ cần Next Next là xong. 

Nhưng, ah tại sao lại nhưng, nhưng ở đây là mấy ai hiểu được và cảm nhận được cái hay của nó khi tạo ra các LUN. Và bên trong nó có gì, chỉ có mấy bạn chịu khó tìm hiểu trước khi làm thì mới cảm nhận được cái hay của nó.

Thật sự là trên Windowns khi tạo ra một cục ISCSI Target nhất nhanh và thậm chí là tay nhanh hơn não :) nhưng ít người tìm hiểu thằng này. Nhưng trên Linux thì khác, làm thấy được cái thú vị hơn là windowns, đây là nói riêng về phần này :).

OK Để bắt đầu cài ISCSI trên Centos 7 thì cần những gì :

Trên linux thì cần có Linux chứ gì :) : Server Centos 7 có 2 DISK (1 OS + 1 Disk chưa ISCSI Target) Và Centos 7 có internet để tải packed nữa chứ
Khi mọi thứ chuẩn bị xong ok bắt đầu cắn viên ĐÁ và ta bắt đầu tiến hành thôi.

Đầu tiên tiến hành cài targetcli trên Server Centos 7 muốn cài ISCSI với dòng lệnh sau :

[root@ iscsi~]#  yum install targetcli -y

Ok, sau khi cài đặt xong vào thử , nếu vào được như bên dưới là ngon lành cành đào

[root@ iscsi~]# targetcli



Trước khi nói chuyện tạo ABCD gì gì đó thì cần hiểu xíu về cấu trúc :

Cấu trúc Backstores : 
Block : Khối lưu trữ
Fileio : Một kho lưu trữ tập tin là một tập tin trên hệ thống tập tin đã được tạo ra với một kích thước được xác định trước
Pscsi (Linux pass-through SCSI devices): Có thể hiểu là một thiết bị truyền qua SCSI trên linux
Ramdisk : Bộ nhớ Ram disk

Cấu trúc ISCSI :
LUN (Logical Unit Number) : LUN là một khái niệm SCSI cho phép chúng ta chia một số lượng lớn lưu trữ thành một đoạn khá lớn. LUN là một biểu diễn logic của một đĩa vật lý. Bộ nhớ đã được gán cho bộ khởi tạo iSCSI sẽ là LUN.

IQN (iSCSI qualified name): IQN là tên duy nhất được gán cho iSCSI target và iSCSI initiator để nhận dạng lẫn nhau.

Định dạng IQN  : Iqn.yyyy-mm. : Tên

Exam: Iqn.2017-11.vn.phamquangloc.iscsi:Cluster

Portal : Cổng iSCSI là một cổng mạng trong mạng iSCSI nơi mạng iSCSI khởi tạo. iSCSI hoạt động trên TCP / IP, vì vậy cổng có thể được xác định bằng địa chỉ IP. Có thể có một hoặc nhiều Portal.

ACL : Một danh sách điều khiển truy cập sẽ cho phép bộ khởi tạo iSCSI kết nối với một mục tiêu iSCSI. ACL sẽ hạn chế quyền truy cập cho mục tiêu iSCSI để những người khởi tạo trái phép không thể kết nối

OK ngáo đá nhiêu đây là làm được rồi :) :

Check xem có bao nhiêu Disk, như đã nói ở trên thì cần có 1 disk free để chứa ISCSI


[root@ iscsi~]#  fdisk -l | grep -i sd


Ah, thì ra có Disk /dev/sdb là free, dùng nó để xúc thôi

[root@ iscsi~]#  fdisk -l | grep -i sd

Khởi tạo một phân vùng ổ đĩa

[root@ iscsi~]#  pvcreate /dev/sdb

Tạo một Volume  group có tên là vg_iscsi


[root@ iscsi~]#  vgcreate vg_iscsi /dev/sdb

Tạo một Logical Volumes tên là lv_iscsi kế thừa từ vg_iscsi

[root@ iscsi~]#  lvcreate -l 100%FREE -n lv_iscsi vg_iscsi



Khi Disk đã khởi tạo ok rồi bắt đầu tạo ISCSI :

[root@ iscsi~]#  lvcreate -l 100%FREE -n lv_iscsi vg_iscsi

Login vào Targetcli đã cài ở trên và di chuyển đến khối block để khởi tạo ISCSI

[root@ iscsi~]#  cd /backstores/block


Tạo một block ISCSI có tên là iscsi_store trong logical volume lv_iscsi đã tạo

/backstores/block> create iscsi_store /dev/vg_iscsi/lv_iscsi



Ở phần trên giải thích từng mục để hiểu thì block thuộc về phần Backstores sau khi tạo xong được phân vùng thì quay trở lại bên ngoài để vào phần iscsi



Trong phần ISCSI này thì khởi tạo kết nối iqn như sau :

/iscsi> create iqn.2018-11.local.domain.iscsi:cluster


Hệ thống sẽ tạo TPG Authentication TPG1 và khởi tạo default sẽ chạy với port 3260

Khi đã tạo TPG Authentication thì bắt buộc sẽ phải set rule cho kết nối này bằng cách đi thẳng vào vùng acls với lệnh sau

/iscsi> cd /iscsi/iqn.2018-11.local.domain.iscsi:cluster/tpg1/acls

Ah, tới đây hiểu như thể nào, có nghĩa là tới bước này set rule cho ai vào, như bài lab thì xác định 2 vé cho 2 thằng node 1,2 vào thì set quyền nó ra như sau

/iscsi/iqn.20...ter/tpg1/acls>create iqn.2018-11.local.domain.iscsi:node1node2


Dùng cd.. ra ngoài một node và set set attribute authentication bằng 0, và tại sao lại là không vì 0 là không xác thực (No Authentication)

/iscsi/iqn.20...ter/tpg1/>set attribute authentication=0

Tiếp theo set attribute generate_node_acls=1 là bỏ qua chế độ ALC

/iscsi/iqn.20...ter/tpg1/>set attribute generate_node_acls=1

Và bước tiếp theo khá quan trọng đó là đi đến vùng LUN để tạo LUN

/iscsi/iqn.20...ter/tpg1/>cd /iscsi/iqn.2018-11.local.domain.iscsi:cluster/tpg1/luns

Và dùng lệnh sau để tạo LUN , tại đây sẽ lấy thông tin về LUN và lưu nó ở block iscsi_store đã tạo


/iscsi/iqn.20...ter/luns/>create /backstores/block/iscsi_shared_storage



Sau khi add config xong dùng cd.. ra node ngoài cùng và dùng ls để check lại xem chính xác hay chưa trước khi lưu lại


Cuối cùng sau khi kiểm tra ok rồi lưu lại thôi, thế là xong :)


Sau khi lưu xong dùng ISCSI Initiator để kiểm tra là biết kết quả :)


Nhãn: