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:

LPIC-System Administrator - Hướng dẫn Enable SFTP Server Centos 7 với group user Active Directory Domain Windowns


Như bài trước hướng dẫn cài vsftpd trên centos 7 , vsftpd thần thánh hỗ trợ khá tốt được nhiều người dùng, muốn cài nó cần install packed của nó về dùng. Còn hôm nay là cài hỗ trợ SFTP(SSH File Transfer Protocol) cái này đã có sẵn trên Centos 7 chỉ cần Enable nó lên là xúc thôi :)


Lấy bài Lab trước vào Enable SFTP lên thôi, trước tiên cần xác định SSH của Centos 7 đã bật, về cơ bản thì mới cài xong Centos 7 thì thấy SSH đã bật lên rồi(Dùng Puty để vào).

Ok nói sơ lại Lab một xíu, trên AD có 2 User : Centos01,Centos02 và Group: GrC

Centos 7 đã join domain ok rồi thì bắt đầu xác thôi, nói xúc cho sang vậy thôi :):) đây là Enable lên để dùng SFTP login vào.


Tiếp theo là Login vào Centos 7 để bắt đầu Enable, trước khi làm cần xác định cấu trúc thư mục trước (Cần biết trước cái mình sẽ làm là điều quan trọng nhất).

HOME -> FTP_SFTP : Tất cả phải Redirect vào /home và sẽ thấy FTP/_SFTP. Home ở đây có nghĩa là root, khi login SFTP chỉ là thành viên trên /home và nhận diện ra FTP_SFTP. Còn cấu trúc thì tùy vào mục đích mỗi người, cái này thuộc và phân quyền, tùy vào mục đích để phân cấp cấu trúc hợp lý.

Bước 1 : Tạo thư mục FTP_SFTP là con của /HOME




Bước 2 : Phần quyền cho home toàn quyền cho root (OWN) có thể phân quyền tùy theo thư mục, đây kế thừa lại HOME



Bước 3 : Phân quyền cho các User được access vào /home


Bước 4 : Tùy theo cách phân quyền và mục đích, ở đây chmod 777 để đọc ghi cho nhanh (Tùy theo Security và cơ chế phân quyền ở mục này, không hỗ trợ cho những ai thích lụi lụi :) )



Bước 5 : Bước quan trọng đó là enable sftp trên SSH để Centos có thể làm việc.


Khi chạy dòng lệnh trên sẽ mở file SSHD_config lên và vào bên trong để cấu hình


Nội dung bên trong nó như sau :

Match Group grc@domain.local : Là nó nhận diện ra group nào có tên là grc@domain.local nó sẽ thực hiện các dùng dưới.(Group này đã nói nở trên khi tạo trên AD)

ForceCommand internal-sftp : Nó sẽ bắt buộc chạy sftp internal, có nghĩa là ở trên có phần Subsystem đã chuyển thành internal sftp thì khi login sẽ chuyển về theo điều hướng


PasswordAuthentication yes : Cái này là bắt buộc phải xác thực bằng tài khoản
ChrootDirectory /home : Phần này khá quan trọng, sau khi điều hướng cứ login vào sftp sẽ bay vào /home để nhìn thấy ftp_sftp
/-----------------------------------------/
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
/-----------------------------------------/
Phần comment ở trên là tắt hết các cơ chế forward, tunnel .... cái này thao khảo mục này hướng dẫn sử dụng Kali linux (Nhiều lúc thấy ku nào đó làm quái gì mà remote với IP : 127.0.0.2 mà thấy nó đang nằm trên AD của mình là cái này, khá thú vị )

Bước 6 : Khởi động lại SSHD và kiểm tra trạng thái ok chưa, thấy màu xanh là ok, thấy màu đỏ là hiểu (hiểu làm làm lại :) :) )



Kiểm tra trạng thái SSHD


Bước 7 : Login với User domain để kiểm tra thông tin


Sau khi Login sẽ thây được ftp_sftp đã phân quyền



Default sẽ là root đới với SFTP






Nhãn:

LPIC-System Administrator - Hướng dẫn cài FTP Server Centos 7 với group user Active Directory Domain Windowns


Quay trở lại thời gian làm đêm ngồi rảnh viết blog, hôm trước có cắn đá để ra một bài Hướng dẫn Join Domain Server Centos 7 với AD Windowns


Lấy lại bài hôm trước vì đã có AD Server Centos join domain hoàn tất, hôm nay kế thừa lại nó để chơi tiếp thôi :)

Đâu tiên cần tạo 1 group trên AD và add user FTP vào, cái này là xác là làm trước trên windowns để xong phần windowns trước để khỏi lăn tăn.

Trên windowns ở đây có Group : CentosGroup01 nó bao gồm 2 user con Centos01Centos02


Sau khi hoàn tất ở trên xem như xong phần  AD windows rồi, bắt đầu tới giai đoạn tiếp theo đó là cài FTP. Ở linux có nhiều bộ cài FTP nhưng ở đây dùng vsftpd . Còn nó là gì thì nghe wikipedia nói như sau : very secure FTP daemon(Rất an toàn) nghe tới đây là khoái khoái :) :) và là một máy chủ FTP cho các hệ thống giống Unix , bao gồm cả Linux . Nó được cấp phép theo Giấy phép Công cộng GNU . Nó hỗ trợ IPv6 và SSL . vsftpd hỗ trợ rõ ràng (kể từ 2.0.0) và ngầm (từ 2.1.0) FTPS . vsftpd là máy chủ FTP mặc định trong các bản phân phối Ubuntu , CentOS , Fedora , NimbleX , Slackware và RHEL Linux.

Note:
Đầu tiên login vào Centos 7 và cấu hình CentosGroup01 vào Centos, gán cho nó quyền như là root, giống trong windowns add user vào local admin (Lưu ý là FTP không cần phần này) phần add này là mục đích mở rộng thêm như cấu hình Group user domain được quyền như root. Sau này có nhu cầu gì thì dùng.

Có nghĩa là Add 1 group và các user của group có quyền như root, khi cài đặt cái gì thì chỉ cần dùng sudo trước và nhập passwod user đó là ngang root. Cách này người ta thường gọi add Active Directory group in Sudoers ...

[centos01@ domain~]#  sudo nội dung thực thi




OK, kết quả như ở trên và cách làm như sau :

Đăng nhập bằng root vào Centos 7 đã join domain và thực hiện lệnh sau

[root@ CemtosServer~]#  visudo



Kéo xuống bên dưới và nhập thông tin Group vào để nâng quyền


Cú pháp khá đơn giản :

%DOMAIN\\GROUP ALL=(ALL) ALL

% : Ký hiệu đứng đầu
Domain : tên domain
\\ : Trong linux domain\group1 thì cầu \\ linux hiểu : domain\\group1
ALL=(ALL) ALL : là full quyền của root(Có thể tham khảo các gợi ý trong file)

Tương tự như Domain Admin chưa gán vào thì khi thực thi quyền root của tài khoản Domain Admin sẽ bị lỗi, nếu đã join domain cho linux thì phần này rất quan trong


Thêm cú pháp sau sẽ thành công

%DOMAIN\\Domain\ Admins ALL=(ALL) ALL

Vậy là đã nói xong phần gán quyền cho AD vào Centos, như windowns gọi là set local admin, giờ tiếp theo là phần chính của mục này là cài FTP dùng user AD.

Bước 1 : Muốn cài FTP vsftpd thì đầu tiên phải cài gói cài đặt này, chạy dòng lệnh sau (Do dùng user domain nên dùng sudo :))

[centos01@domain.local@CentosServer ~]$ sudo yum install vsftpd



Bước 2 :Khởi động và Enable vsftpd

[centos01@domain.local@CentosServer ~]$ sudo systemctl start vsftpd

[centos01@domain.local@CentosServer ~]$ sudo systemctl enable vsftpd


Bước 3 :FTP sử dụng port 21 nên mở port firewall lên, hoặc có thể tắt hết cũng được, muốn tắt hết tham khảo bài LPIC-System Administrator(Red Hat)

[centos01@domain.local@CentosServer ~]$ sudo firewall-cmd --zone=public --permanent --add-port=21/tcp

[centos01@domain.local@CentosServer ~]$ sudo firewall-cmd --zone=public --permanent --add-service=ftp

[centos01@domain.local@CentosServer ~]$ sudo firewall-cmd --reload


Bước 4 : Cấu hình file config FTP

Trước khi làm gì backup ra 1 bản config để dùng lại nếu có phát sinh lỗi.

[centos01@domain.local@CentosServer ~]$ sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup

Sau khi backup lại một file vsftpd.conf.backup để hờ sử dụng sau và tiến hành cấu hình file vsftpd.conf

[centos01@domain.local@CentosServer ~]$ sudo vi /etc/vsftpd/vsftpd.conf



Kiểm tra những dòng sau như bên dưới
//---------------------------------------------------------------------//
anonymous_enable=NO            
local_enable=YES
write_enable=YES
local_umask=022        
dirmessage_enable=YES         
xferlog_enable=YES
connect_from_port_20=YES       
xferlog_std_format=YES         
listen=NO   
listen_ipv6=YES        
pam_service_name=vsftpd       
userlist_enable=YES         
tcp_wrappers=YES  
local_root=/home/ftp_shares
//---------------------------------------------------------------------//

local_root=/home/ftp_shares : Tại sao có dòng này, có nghĩa là khi tạo FTP mặc định khi login FTP sẽ sinh ra profile user FTP đó và mặc định redirect folder sẽ nằm bên trong profile. Khi set local root thì mặc định khi login vào ftp thì tự động redirect về /home/ftp_shares, dùng cấp 10 user cũng chỉ về 1 folder chung, cái này tùy policy mỗi nới

Bước 5 :  Cấu hình allow FTP và quyền chmod khi một user khác đăng nhập FTP sẽ tự động phân quyền có user đó

[centos01@domain.local@CentosServer ~]$  sudo vi /etc/vsftpd/user_list



Bước 6 : Cấu hình bảo mật FTP với SELinux(Securing FTP Server with SELinux)

Chạy câu lệnh sau :

[centos01@domain.local@CentosServer ~]$  sudo setsebool -P tftp_home_dir on

[centos01@domain.local@CentosServer ~]$  sudo semanage boolean -m ftpd_full_access --on

Có thể kiểm tra trạng thái FTP bằng câu lệnh

[centos01@domain.local@CentosServer ~]$  sudo getsebool -a | grep ftp


Note : check xem tftp_home_dir --> on ftpd_full_access --> on  là mọi thứ ok.

Cuối cùng là đăng nhập vào FTP tận hưởng thành quả.



Nhãn:

LPIC-System Administrator - Hướng dẫn join domain server Centos 7 với Active Directory Domain


Một buổi tối đi làm đêm rãnh rỗi làm bài Lab join domain cho Server Centos 7, tại sao phải join domain cho Centos... Một ngày nọ ông Director IT buồn buồn bảo join domain hết mấy con Centos 7 cho tao :) :)

Có nghĩa là muốn mấy con Linux Centos đang yên đang lành join domain đúng ko (đang tưởng tượng :) :) ) ok, thích thì nhích thôi và tiến hành làm thôi, thế là hôm nay  Raise ticket để nói chuyện rồi. Sau một lúc cắn viên đá cho tỉnh táo thì bắt đầu thôi.

Hướng dẫn join domain server Centos 7 với Active Directory Domain

Trước khi bắt đầu làm thì trang thiết bị súng ống đầy đủ (Server  AD, Server Centos 7 ok).

Mô hình như sau : 

Windowns Server 2012  IP: 10.120.50.10
Centos 7 Server; IP: 10.120.50.12

Phần AD thì chuẩn bị một user domain : domain\centos01/P@ssw0rd


Phần Centos 7 bắt đầu cấu hình sau :

Login vào Centos 7 có thể dùng puty, hay login trực tiếp vào server centos chạy dòng sau để cài đặt các gói packed cần thiết.

[root@ ~]#  yum install sssd realmd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools krb5-workstation openldap-clients policycoreutils-python -y

Để update được các packed này yêu cầu Centos ra được internet vì nó cập nhật online, ghi lại cho sau này đang ngáo đá cũng không hiểu :) :)

Hướng dẫn join domain server Centos 7 với Active Directory Domain

OK, thế là em nó cũng chạy xong, phần này chaỵ khá là nhanh khoản 15s là xong (Bạn thân với thằng network nên băng thông khá mạnh :) :))

Sau khi cập nhật các gói trên xong tiến hành  chình sửa file resolv.conf

[root@localhost ~]# vi /etc/resolv.conf

Hướng dẫn join domain server Centos 7 với Active Directory Domain


Hướng dẫn join domain server Centos 7 với Active Directory Domain


Tiếp theo chạy lệnh join domain với lệnh Realm, Ở đây user là centos01 và hệ thống yêu cầu nhập password thì nhập theo thông tin bên AD windowns cung cấp

[root@localhost ~]# realm join --user=centos01 domain.local

Hướng dẫn join domain server Centos 7 với Active Directory Domain

Sau khi join mọi thứ thành công thì check thông tin như sau :

[root@localhost ~]#realm list

Câu lệnh này sẽ show thông tin domain vừa join vào

Hướng dẫn join domain server Centos 7 với Active Directory Domain

Cuối cùng kiểm tra trên AD có máy nào vừa join domain không là sẽ biết :)

Hướng dẫn join domain server Centos 7 với Active Directory Domain

OK, em nó đã vào domain, thông tin trên AD sẽ hiện thông tin server centos này.

Sau khi khởi động lại centos vào bên trong check thông tin, login bằng user domain để kiểm tra

Hướng dẫn join domain server Centos 7 với Active Directory Domain


OK, thế là khá đơn giản mọi việc đã hoàn tất và để join được domain này thì điều không thể thiếu đó là SAMBA (gói cài đặt ban đầu dài dài ở trên) và muốn hiểu thêm về SAMBA thì xem chi tiết ở đây :
hướng dẫn cấu hình SAMBA



Nhãn: