Wednesday, December 21, 2016

Hướng dẫn cài đặt compile Apache 2.2/2.4 trên CentOS/RHEL 6/7

 Hướng dẫn cài đặt compile Apache 2.2/2.4 trên CentOS/RHEL 6/7

Trong bài viết này, mình sẽ hướng dẫn các bạn compile Apache source code version 2.2/2.4 để cài đặt chương trình Web Server Apache trên CentOS/RHEL 6/7 thay vì cài đặt bằng cách sử dụng chương trình ‘yum‘.
Thế Apache là gì ? Apache là chương trình dịch vụ Web Server miễn phí nổi tiếng nhất trên thế giới. Apache Web Server ban đầu được viết cho Unix, nhưng bây giờ Apache đã hỗ trợ các nền tảng khác như Microsoft Windows, MacOS, Linux (Redhat / CentOS / Fedora / Debian / Ubuntu …). Mặc dù miễn phí, Apache Web Server có nhiều tính năng mạnh mẽ và hỗ trợ nhiều ngôn ngữ lập trình web bao gồm perl, Python, và PHP. Với một cộng đồng hỗ trợ người dùng rất lớn, ta có thể dễ dàng tìm thấy nhiều người sử dụng giúp đỡ vấn đề của ta và chia sẻ kinh nghiệm nếu một vấn đề được tìm thấy trên thế giới.
Việc compile source Apache mang lại rất nhiều lợi ích, từ việc dễ quản lý tắt/bật các module cần thiết đến cài đặt tương thích hệ thống server hơn so với ‘yum‘. Tuy nhiên hoạt động biên dịch (compile) thường phức tạp hơn nên bạn cần kiên nhẫn chịu khó. Vì vậy mình sẽ hướng dẫn các bạn các bước biên dịch mã nguồn web server Apache (không cài đặt module đính kèm).
1. Cài đặt các gói phần mềm tiên quyết

– Đầu tiên chúng ta cần đảm bảo hệ thống có các chương trình phần mềm hỗ trợ cho việc biên dịch các ứng dụng source code. Dưới đây chúng ta sẽ sử dụng Repo EPEL cho các chương trình cài đặt cơ bản.
# yum install epel-release -y
# yum groupinstall "Developer Tools" -y
# yum install gcc-c++ autoconf gcc* wget lynx libtool apr-devel apr-util-devel apr apr-util pcre pcre-devel openssl openssl-devel zlib zlib-devel –y

2. Cài đặt gói chương trình Apache

– Đầu tiên thì mình muốn xác định lần nữa là các bạn có thể sử dụng bài hướng dẫn này để cài đặt cho gói ứng dụng Apache v2.2.x và v2.4.x đều thành công. Ở bài viết này mình sử dụng bản ‘v2.2‘ Apache để hướng dẫn, cách làm với version ‘v2.4‘ cũng tương tự không khác gì đâu.
– Nhưng do version v2.4.x yêu cầu các phiên bản thư viện APR/APR-util, PCRE và OpenSSL nên ở các phiên bản mới nhằm tương thích với các hoạt động của web server Apache. Mà tiếc thay là nếu sử dụng các phiên bản cài đặt từ repo với ‘yum‘ thì đa phần là các phiên bản cũ hơn nhiều so với phiên bản mới nhất của các thư viện.

Logo dịch vụ Apache 2.2Logo dịch vụ Apache 2.2
– Nên dù đã cài đặt một số phần mềm thư viện tương ứng ở phần 1, nhưng mình vẫn sẽ sử dụng cách thức sau để cài đặt các phiên bản mới của các thư viện cần thiết cho dịch vụ Apache, để đảm bảo tương thích với cả 2 phiên bản của Apache.
– Như vậy cần lưu ý nữa là các thư viện này, bạn có thể biên dịch Apache với thư viện được cài đặt thông qua ‘yum‘ chứ không cần download mới như mình hướng dẫn.
– Các thư viện cài đặt chung với source Apache, phiên bản mới nhất tính đến thời điểm viết bài hướng dẫn này gồm :
+ APR v1.5.2
+ APR util v1.5.4
+ PCRE v8.39 (8.30.x cho Apache 2.4) | PCRE v8.21 trở xuống (8.21 max cho Apache 2.2)
+ OpenSSL v1.0.2j
– Download các source thư viện vào thư mục chung để dễ quản lý khi biên dịch Apache. Như vậy các bạn cần lưu ý download phần PCRE v8.30.x và v8.21.x sẽ phân loại cho từng phiên bản Apache.
– Trong bài này demo bằng cài đặt Apache 2.2.x nên mình xài PCRE v8.21, nếu bạn cài Apache 2.4.x thì có thể sử dụng phiên bản PCRE mới hơn.


# cd /usr/local/src
# wget -O apr-1.5.2.tar.gz http://www-us.apache.org/dist//apr/apr-1.5.2.tar.gz
# wget -O apr-util-1.5.4.tar.gz http://www-us.apache.org/dist//apr/apr-util-1.5.4.tar.gz
# wget --no-check-certificate -O pcre-8.21.tar.gz https://sourceforge.net/projects/pcre/files/pcre/8.21/pcre-8.21.tar.gz/download
# wget --no-check-certificate -O openssl-1.0.2j.tar.gz https://www.openssl.org/source/openssl-1.0.2j.tar.gz

-rw-r--r-- 1 root root 1031613 Apr 29 2015 apr-1.5.2.tar.gz
-rw-r--r-- 1 root root 874044 Sep 20 2014 apr-util-1.5.4.tar.gz
-rw-r--r-- 1 root root 7583841 Jul 17 2015 httpd-2.2.31.tar.gz
-rw-r--r-- 1 root root 5307912 Sep 26 17:04 openssl-1.0.2j.tar.gz
-rw-r--r-- 1 root root 2062258 Jun 18 01:00 pcre-8.39.tar.gz

– Download source Apache v2.2 hoặc v2.4.
+ Version 2.2

# cd /usr/local/src
# wget -O httpd-2.2.31.tar.gz http://www-us.apache.org/dist//httpd/httpd-2.2.31.tar.gz

+ Version 2.4

# cd /usr/local/src
# wget -O httpd-2.4.23.tar.gz http://www-us.apache.org/dist//httpd/httpd-2.4.23.tar.gz

 – Tiến hành giải nén các thư mục source Apache và thư viện hỗ trợ.

# tar xvf httpd-2.2.31.tar.gz
# tar xvf apr-1.5.2.tar.gz
# tar xvf apr-util-1.5.4.tar.gz
# tar xvf pcre-8.21.tar.gz
# tar xvf openssl-1.0.2j.tar.gz

– Cài đặt thư viện ‘pcre‘ ở thư mục /usr/lib , để lát sử dụng binary của phiên bản PCRE mới này.


# cd /usr/local/src/
# cd pcre-8.21
# ./configure --prefix=/usr/lib/
# make && make install

 – Di chuyển 2 thư mục source ‘apr-x‘ và ‘apr-util-x‘ vào trong thư mục con ‘./srclib’ của source Apache. Sau đó đổi tên thành ‘apr’ và ‘apr-util‘.


# cd /usr/local/src/
# cp -rp apr-1.5.2 httpd-2.2.31/srclib/apr
# cp -rp apr-util-1.5.4 httpd-2.2.31/srclib/apr-util

– Việc di chuyển thành 2 thư mục trên sẽ hỗ trợ cho việc biên dịch Apache với các option ‘–with-included-apr‘, nhằm giúp quá trình biên dịch nhận diện sử dụng 2 source thư viện ‘apr’ và ‘apr-util’ cho hoạt động cài đặt.


2.1 Compile source Apache

– Ok đến phần hấp dẫn và quan trọng nhất rồi, đó chính là phần biên dịch source code Apache.
– Ở phần này mình muốn nhấn mạnh điều này: cấu hình ở phía dưới là 1 cấu hình chuẩn cơ bản của bản thân mình áp dụng và đúc kết kinh nghiệm quản trị các hệ thống web server. Nên trong cấu hình này mình sẽ chỉ kích hoạt (enable) các module thường được sử dụng nhất và cần thiết cho các hoạt động web cơ bản và tắt (disable) những module mà mình thấy rất ít khi được đụng tới cũng như không cần thiết phải sử dụng khi chưa có nhu cầu.
– Bài viết cũng không hướng dẫn các bạn cài đặt các mode PHP Handler với Apache nhé. Mặc định khi cài như này thì sẽ hỗ trợ được mod PHP DSO, CGI.
– Nên sẽ có rất nhiều bạn có những mẫu config khác phù hợp với hoạt động và nhu cầu của các bạn. Còn dưới đây là 1 mẫu config của cá nhân nhưng phù hợp cho hoạt động web bình thường, các bạn có thể sử dụng chung với mình nếu không rành.

Logo dịch vụ Apache 2.2Logo dịch vụ Apache 2.2

– Ở config này, mình sử dụng đường dẫn thư mục là : /usr/local/apache/ , có khác biệt so với chuẩn thư mục bình thường khi cài đặt ‘httpd’ bằng ‘yum‘. Chủ yếu là 10 dòng cấu hình đầu là chỉ định thư mục cài đặt Apache, nên các bạn có thể linh động thay đổi nếu muốn.
– Mình sẽ đề xuất phần cấu hình thư mục theo chuẩn : /etc/httpd ,phía dưới sau phần này.
– Còn về các nội dung các module bị bật/tắt các bạn có thể tham khảo ở đây : https://en.wikipedia.org/wiki/List_of_Apache_modules
– Giờ ta thì chúng ta tiến hành compile thôi, bạn chỉ cần copy y nguyên phần config này là chạy ngon lành. Còn có lỗi thì bình luận vào nhé, còn các bạn đã có chuẩn configure riêng thì các bạn có thể chia sẻ chung nhé.

Các bạn có thể coi chú thích các option khi compile bằng lệnh sau :


# cd /usr/local/src/httpd-2.2.31/
# ./configure --help

+ Tiêu chuẩn đường dẫn : /usr/local/apache
# cd /usr/local/src/httpd-2.2.31/
# ./configure \
    "--with-mpm=prefork" \
    "--prefix=/usr/local/apache/" \
    "--exec-prefix=/usr/local/apache/" \
    "--sysconfdir=/usr/local/apache/conf" \
    "--sbindir=/usr/local/apache/bin" \
    "--bindir=/usr/local/apache/bin" \
    "--datadir=/var/www" \
    "--mandir=/usr/local/apache/man" \
    "--libdir=/usr/local/apache/lib" \
    "--libexecdir=/usr/local/apache/modules" \
    "--includedir=/usr/local/apache/include" \
    "--enable-auth" \
    "--enable-cgid" \
    "--enable-cgi" \
    "--enable-dav" \
    "--enable-dav-fs" \
    "--enable-dav-lock" \
    "--enable-deflate" \
    "--enable-dir" \
    "--enable-expires" \
    "--enable-headers" \
    "--enable-log-config" \
    "--enable-mime" \
    "--enable-mime-magic" \
    "--enable-mods-shared=most" \
    "--enable-reqtimeout" \
    "--enable-rewrite" \
    "--enable-so" \
    "--enable-ssl" \
    "--enable-suexec" \
    "--enable-status" \
    "--enable-static-support" \
    "--enable-unique-id" \
    "--enable-static-htpasswd" \
    "--enable-static-rotatelogs" \
    "--disable-asis" \
    "--disable-auth-anon" \
    "--disable-auth-dbm" \
    "--disable-auth-digest" \
    "--disable-autoindex" \
    "--disable-cache" \
    "--disable-case-filter" \
    "--disable-case-filter-in" \
    "--disable-cern-meta" \
    "--disable-disk-cache" \
    "--disable-ext-filter" \
    "--disable-file-cache" \
    "--disable-filter" \
    "--disable-imap" \
    "--disable-info" \
    "--disable-mem-cache" \
    "--disable-proxy" \
    "--disable-proxy-connect" \
    "--disable-proxy-ftp" \
    "--disable-proxy-http" \
    "--disable-speling" \
    "--disable-usertrack" \
    "--disable-version" \
    "--with-included-apr" \
    "--with-pcre=/usr/lib/bin/pcre-config" \
    "--with-ssl=/usr/local/src/openssl-1.0.2j" \
    "--enable-ssl-staticlib-deps" \
    "--enable-mods-static=ssl"


+ Tiêu chuẩn đường dẫn : /etc/httpd
– Phần config thư mục dành cho các bạn muốn sử dụng thư mục ‘/etc/httpd/‘ thường gặp khi cài bằng ‘yum‘. Tham khảo :


# ./configure \
    "--with-mpm=prefork" \
    "--prefix=/etc/httpd/" \
    "--exec-prefix=/etc/httpd" \
    "--sysconfdir=/etc/httpd/conf" \
    "--sbindir=/usr/sbin" \
    "--bindir=/usr/bin" \
    "--datadir=/var/www" \
    "--mandir=/etc/httpd/man" \
    "--libdir=/etc/httpd/lib" \
    "--libexecdir=/etc/httpd/modules" \
    "--includedir=/etc/httpd/include" \
    ....
    ....

 3. Tạo start script cho dịch vụ Apache

– Do biên dịch từ source code nên chúng ta sẽ không có file start khởi động dịch vụ Apache, nên các bạn có thể download file init Apache dành cho CentOS 6 sau về sử dụng. Trên CentOS 7 thì xài ‘systemd’ nên mình sẽ cập nhật phần này cho Cent 7 sau.

Lưu ý :
– File init và systemd này được sử dụng cho đường dẫn path prefix của dịch vụ Apache là : /usr/local/apache/
– Nếu các bạn set đường dẫn prefix : /etc/httpd/ , thì các bạn có thể chỉnh sửa các thông tin trong script linh động theo đường dẫn các chương trình ‘apachectl‘ và ‘httpd‘, cùng ‘httpd.pid‘ trong file init script.

+ Init start dành cho CentOS/RHEL 6


# wget --no-check-certificate -O /etc/init.d/httpd https://cuongquach.com/download/sys/apache/init-httpd-cent6-mode.txt
# chmod +x /etc/init.d/httpd
# chkconfig httpd on

 + Systemd start dành cho CentOS/RHEL 7
– Đây là nội dung dành cho file start dịch vụ trên hệ thống systemd như CentOS/RHEL 7.


# vi /usr/lib/systemd/system/httpd.service

[Unit]
Description=The Apache HTTP Server

[Service]
Type=forking
EnvironmentFile=/usr/local/apache/bin/envvars
PIDFile=/usr/local/apache/logs/httpd.pid
ExecStart=/usr/local/apache/bin/apachectl start
ExecReload=/usr/local/apache/bin/apachectl graceful
ExecStop=/usr/local/apache/bin/apachectl stop
KillSignal=SIGCONT
PrivateTmp=true

[Install]
WantedBy=multi-user.target

 – Reload lại cấu hình file start dịch vụ.


# systemctl daemon-reload
# systemctl enable httpd.service

4. Cấu hình Apache cơ bản

4.1 Cấu hình user chạy dịch vụ Apache Web Server

– Chúng ta sẽ cấu hình cho dịch vụ Apache sử dụng user ‘apache’ được khởi tạo để chạy dưới quyền user này, thay vì user ‘nobody’ hay ‘www-data’ hoặc ‘daemon’. Cái này là sở thích thôi, chứ các bạn để chạy dưới quyền user mặc định cũng được.
– Kiểm tra xem đã có user ‘apache’ hay chưa ?


# grep "apache" /etc/passwd
apache:x:48:48:Apache:/var/www:/sbin/nologin

 – Nếu chưa có thì output sẽ không ra kết quả gì. Còn bây giờ thì ta sẽ khởi tạo user ‘apache’ khi chưa có và kiểm tra lại bằng lệnh như trên.

# groupadd -r apache
# useradd -r -s /sbin/nologin -d /var/www/ --no-create-home -g apache apache

 – Cấu hình Apache chạy user ‘apache’. Tìm nội dung dòng tương ứng và cấu hình tên ‘apache’.


# vi /usr/local/apache/conf/httpd.conf
User apache
Group apache

 4.2 Cấu hình giá trị ‘ServerName’ trong file cấu hình Apache
Giá trị này là gì ? Tại sao chúng ta phải cấu hình giá trị này khi vừa cài đặt xong ? Thực ra bạn sẽ dễ gặp lỗi như sau khi bạn khởi động dịch vụ Apache lên.


# /etc/init.d/httpd start
Starting httpd: httpd: apr_sockaddr_info_get() failed for myservername,
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

 Lúc này bạn nên đọc qua bài viết sau để biết fix lỗi trên nhé :

[Apache] Lỗi “httpd: apr_sockaddr_info_get() failed” khi start dịch vụ Apache


4.3 Link binary Apache

– Ta cần soft link binary ‘httpd‘ và ‘apachectl‘ ra môi trường $PATH để tiện triệu gọi chương trình lệnh sử dụng.


# ln -s /usr/local/apache/bin/apachectl /usr/bin/apachectl
# ln -s /usr/local/apache/bin/httpd /usr/bin/httpd

 5. Khởi động dịch vụ Apache

– Khởi động dịch vụ Apache lên và tiến hành kiểm tra.

+ Trên CentOS 6


# /etc/init.d/httpd start
1
# /etc/init.d/httpd start

+ Trên CentOS 7

# systemctl start httpd.service
– Kiểm tra xem đã listen trên port 80 hay chưa ?

# netstat -atnp | grep ":80"
tcp 0 0 :::80 :::* LISTEN 10641/httpd

– Kiểm tra xem tiến trình ‘httpd‘ đã chạy hay chưa ?


# ps aux | grep "httpd"
root 10641 0.0 0.3 144912 3228 ? Ss 07:54 0:00 /usr/local/apache/bin/httpd
apache 10646 0.0 0.2 144840 2092 ? S 07:54 0:00 /usr/local/apache/bin/httpd
apache 10647 0.0 0.2 145048 2176 ? S 07:54 0:00 /usr/local/apache/bin/httpd
apache 10648 0.0 0.2 145048 2176 ? S 07:54 0:00 /usr/local/apache/bin/httpd
apache 10649 0.0 0.2 145048 2176 ? S 07:54 0:00 /usr/local/apache/bin/httpd
apache 10650 0.0 0.2 145048 2176 ? S 07:54 0:00 /usr/local/apache/bin/httpd
apache 10651 0.0 0.2 145048 2176 ? S 07:54 0:00 /usr/local/apache/bin/httpd

 – Truy cập địa chỉ IP server port 80 trên trình duyệt web. Lưu ý, nhớ đảm bảo tường lửa hệ thống đã mở port 80 chiều IN cho Apache trên server.
– Thấy hiện ra đoạn text ‘It’s works‘ hoặc nội dung biểu tượng Apache là thành công.

Share:

Wednesday, November 16, 2016

Cài đặt và cấu hình phần mềm Openfiler dùng cho VMware ESXi để chia sẻ lưu trữ theo kiểu NFS hoặc iSCSI

Khi bạn tạo ra môi trường ảo hoá máy chủ hoặc máy trạm trên nền VMware. Bạn muốn làm việc với các công cụ bảo vệ dữ liệu và vận hành ổn định hiệu quả như: di chuyển máy ảo tự động vMotion và độ sẵn sàng cao, bạn sẽ cần sử dụng hệ thống chỉa sẻ tài nguyên “Share Storage” nó phải được kết nối và vận hành trong môi trường ảo hoá của bạn.
Openfiler cũng là một lựa chọn tốt để bạn cài đặt và cấu hình miễn phí hệ thống lưu trữ đóng gói nhằm cung cấp dịch vụ chia sẻ lưu trữ dữ liệu với 2 chuẩn NFS hoặc iSCSI.
Bài này tôi giới thiệu cách cài Openfiler 2.99. Bạn có thể download nhiều dạng triển khai khác nhau như: copy vmdk, copy file zar hoặc file ISO hoặc ovf để triển khai theo template sẵn sàng chuẩn VMware files…
Tôi download bộ cài ISO file tại địa chỉ: www.openfiler.com. phiên bản 2.99 (openfileresa-2.99.1-x86_64-disc1.iso)
Để bắt đầu bạn cần tạo 1 máy ảo  virtual machine có thể chạy trên nền ảo hoá máy chủ ESXi Hypervisor miễn phí hoặc ảo hoá máy trạm Workstation, đưa file ISO vào ổ đĩa CD/DVD ảo và chọn chế độ power on. Hệ điều hành OS dạng: Other Linux 64 bit.
 Kích thước ổ nhỏ nhất là: 10GB mới đảm bảo đủ kích thước tối thiểu trước khi cài  Openfiler.
Yêu cầu của hệ thống:


Openfiler tương thích 64-bit đạt chuẩn tương thích với các máy chủ phần cứng. Nó có thể được cài vào môi trường máy chủ ảo, máy trạm ảo theo nền tảng VMware vSphere.
Theo như dòng sản phẩm phát triển chạy trên nền hỗ trợ ảo hoá hoặc theo cấu hình cơ bản, khuyến cáo nên dùng CPU chip 64-bit Intel Xeon hoặc AMD Opteron đạt hiệu quả tốt nhất.

Cấu hình cài cơ bản

khuyến cáo
  • 64-bit 1.6GHz or higher performance processor
  • 2GB or higher of RAM
  • 2GB disk space for memory swap area
  • 8GB disk space for Openfiler OS installation
  • 1Gb Ethernet network interface
  • Separate storage volumes/disks for data export
  • Hardware RAID controller

Cấu hình cài ảo hoá

vmware specifications
  • 64-bit VMware hypervisor
  • VMware Player, VMware Server, VMware ESX compatible
  • Symbios or Buslogic virtual SCSI disk driver
  • IDE virtual disk driver
  • 2GB minimum virtual RAM
  • Virtual network interface
Tip
Bước 1. đầu tiên là cài Hệ điều hành trên 1 ổ cứng và sau khi cài xong có thể bổ sung thêm các ổ cứng khác sẽ liên quan tới phân hoạch ổ cứng kiểu NFS và iSCSI. không cần tắt nguồn của máy ảo khi định thêm ổ cứng cho NAS. Bạn có thể thêm ổ cứng cho NAS, NFS… khi đang bật nguồn cho ESXi và Openfiler sẽ tự động xác định ra ổ cứng mới thêm.
Khi bạn khởi động máy ảo VM bằng bộ cài ISO (xem hình dưới). Hãy nhấn phím Enter để bắt đầu cài.
Openfiler boot cd
Các bước cài tiếp theo chủ yếu tôi chụp hình ảnh và  sẽ đưa các ý kiến chú thích các vấn đề quan trọng cần bạn lưu ý khi thực hiện.
Trong lúc cài đặt sẽ phải thiết lập ổ cứng rỗng và bạn sẽ có thể tự động phân vùng, định dạng ổ cứng theo HĐH. Bạn có 2 ổ cứng và mỗi ổ bạn muốn chạy theo 2 công nghệ khách nhau : một ổ chạy theo NFS  và một ổ chạy theo iSCSI.
Openfiler disk selection
Mạng ngầm định sẽ được cấu hình tự động theo DHCP. Nếu bạn muốn cấu hình tĩnh IP thì bạn có thể cấu hình sau khi truy cập vào Web based có giao diện quản lý hoặc bạn làm theo từng bước ở phần đang cài đặt sau:
Openfiler IP configuration
Trong quá trình cài đặt hệ thống yêu cầu mật khẩu root. Đây chỉ là tài khoản root dùng làm quản trị hệ thống Openfiler, Lưu ý rằng mật khẩu này sẽ không phải là mật khẩu mà bạn sẽ sử dụng để quản lý thiết bị từ giao diện người dùng dựa trên web.
Openfiler root password
Khi các bước cài xong, hệ thống kết thúc và yêu cầu khởi động lại máy chủ . Bạn sẽ nhìn thấy địa chỉ web URL để điều khiển quản lý Openfiler.
Openfiler appliance after first boot
Bước 2. Lần đầu truy cập web base bạn sẽ thấy có 1 màn thông báo chữ ký số là chưa được tin tưởng, do máy chủ ảo tự tạo ra chữ ký số SSL cho giao thức HTTPS, đây là thông báo bình thường và bạn có thể tiếp tục thực hiện.
Đăng nhập vào web Openfiler bạn sẽ cần xác thực bằng tài khoản:
Tài khoản ngầm định: openfiler
Mật khẩu ngầm định: password
Sau khi bận đăng nhập lần đầu để thay đổi mật khẩu cho Administrator của máy ảo. Hệ thống yêu cầu bạn đăng nhập lại màn quản trị bằng mật khẩu mới. (Trong Labs thay thành:  VMware1!
Openfiler change administrator password
Bước tiếp theo cần bật các dịch vụ cần thiết cho NFS, iSCSI khởi động.
Enable and start Openfiler services
Bước 3. để cấu hình từ máy chủ hoặc mạng đang cài Openfiler. bạn có thể cung cấp các địa chỉ IP tĩnh cho máy chủ Openfiler. ví dụ: tất cả các máy chủ này đều nằm ở dải mạng: 192.168.1.0/24 sẽ có thể truy cập hệ thống chia sẻ lưu trữ này .
Openfiler network access configuration
Sau bước 3, bạn nên thêm ổ cứng ảo tới máy chủ ảo mà bạn muốn  dùng làm lưu trữ dạng NFS và iSCSI data. Bạn có thể làm điều này trong lúc các máy chủ ảo đang bật và Openfiler sẽ tự động xác định ra chúng.
Bước 4. truy xuất vào Tab Volumes và chọn Block Devices  từ menu bên phải để quản lý định dạng ổ cứng của bạn. Chúng ta bắt đầu từ ổ thứ 1 (/dev/sdb). Bấm vào hyperlink để xác lập device và để thêm 1 định dạng ổ partition.
Openfiler block devices add partition
Phần tiếp theo cần tạo 1 ổ volume mới trong ổ cứng ảo. Thực hiện hành động này cho tất cả các ổ cứng nào bạn muốn dùng. (Trường hợp này tôi chỉ dùng đĩa /dev/sdc.)
Openfiler add partiiton to device
Bước 5. tạo 1 Volume group. Tại thời điểm này tôi bắt đầu tạo ra toàn bộ cấu hình NFS và khi điều đó được thực hiện xong, tôi sẽ tạo ra tiếp các đĩa iSCSI và cấu hình chúng .

Bước 6. Cấu hình NFS Volume

Trong tab Volumes  chọn  Volume Groups từ menu bên phải.
Openfiler add new volume group for NFS
Tiếp theo bấm Add Volume là đường liên kết bên menu bên phải. Xác định tên cho voulme, nhập miêu tả và chọn amount cho vùng ổ trống từ kiểu phân vùng định dạng partition để sử dụng. File ngầm định được sử dụng ở đây là XFS, bạn cũng có thể chọn ext4 hoặc các kiểu định dạng khác nhưng quan trọng nhất là chúng ta cần hệ thống truy xuất và chia sẻ dữ liệu qua NFS do vậy những định dạng này thực sự không phải là quan trọng.
Add volume to Openfiler volume group
Bước 7. bây giờ chúng ta đã có cấu hình NFS-volume và cần phải tạo 1 cấu hình thông tin chia sẻ để giúp chúng ta đưa nó vào hệ thống máy chủ  ESXi Hypervisor. Bấm vào tab Shares và bấm link NFS-volume bạn chỉ cần nhập tên thư mục cần tạo trong volume đó.
Openfiler NFS volume add folder
Tên thư mục này về sau sẽ chính là tên Share name. Bấm foler và bấm nút  Make Share có trên cửa sổ con vừa khai báo.
Openfiler add share to NFS folder
Bước 8. nên phân quyền và giới hạn quyền truy cập các thư mục có trong Volume ổ cứng vừa cấu hình để đảm bảo an toàn dữ liệu chia sẻ trong ESXi.
Bạn cần cấu hình 1 nhóm chính Primary Group và chọn quyền ReadWrite khi truy cập NFS trên máy chủ.
Openfiler Share controled access
Cấu hình NFS-configuration trên máy chủ Openfiler giờ đã xong. Chúng ta chỉ việc quay sang máy chủ ESXi-host để thiết lập hệ thống kết nối chia sẻ.
Lưu ý: Nếu muốn dùng cho cả user Anonymous User để ESXi Host kết nốI NFS bạn cần cấu hình chọn
image
Bước 9. Bạn mở  vSphere Client (Configuration Storage > Add Storage)  ở màn vSphere Web Client (bạn chọn máy chủ, Related Objects Datastores và bấm biểu tượng create a new datastore).
Bạn có thể nhập địa chỉ IP hoặc tên máy chủ Openfiler nếu bạn đã cấu hình DNS.
Tip Tên datastore name nên đặt giống cùng với tất cả các máy chủ ESXi-servers trong cùng khối cluster sẽ giúp cho các máy ảo đó có thể chạy trong tất cả các máy chủ ESXi hosts khác ví dụ nếu VM dùng NFS với vMotion và High Availability.
Add datastore on ESXi from vSphere Web Client

 

Bước 10. Cấu hình iSCSI

Để cấu hình iSCSI chúng ta cần volume khác trong  volume group. Mở  web Openfiler và chọn Volumes-tab và tiếp tục chọn menu bên phải bấm vào Volume Groups. Bây giờ bạn có thể tạo ra  volume group mới trong đó có ổ cứng rỗng (ví dụ: /dev/sdc).
Openfiler add iSCSI volume group
Bước 11. Bấm Add Volume. Nếu các Volume group mới bạn vừa tạo ra không được chọn thì ngay sáu đó bạn sẽ phải chọn từ danh sách thả xuống và cần chọn lấy để bấm nút Change.
Openfiler select volume group
Bước 12. Bây giờ ta lại cần thêm volume mới để đưa vào chính volume group này. Bước quan trọng nhất đó là chọn  block-type để có thể sử dụng nó trong iSCSI-target disk.
Openfiler create iSCSI volume
Bây giờ ổ đĩa ảo đã sẵn sàng bây giờ cấu hình iSCSI-target. Từ Volumes-tab chọn iSCSI targets từ menu bên phải. Bạn lựa chọn duy nhất là tạo ra một cái mới
Openfiler add iscsi target
Bấm nút “Add” để tạo 1 iqn cho iSCSI Target
image
image
Bấm nút “Update” để lưu thông số của iSCSI.
Bước 13. tiếp theo bạn bấm sang Tab “LUN Mapping” để ánh xạ  1 LUN tới Volumes.
Openfiler LUN mapping for ISCSI target
Bấm nút “Map” ở dòng và cột cuối “Map LUN” và bước cuối cùng là cho phép truy cập đến iSCSI target này bằng tab “Network ACL”.
Openfiler network access for iSCSI
Bước 14. bây giờ bạn cần cấu hình truy cập  tới iSCSI-target từ máy chủ ESXi-host.
Hãy mở vShere Client (Configuration Storage Adapters – bấm Add)  hoặc bạn cũng có thể tạo từ vSphere Web Client.
Openfiler add iSCSI software adapter to ESXi in vSphere Web Client
Một khi bạn đã thêm vào các bộ chuyển đổi nó sẽ hiển thị trong danh sách các bộ điều khiển lưu trữ Storage Adapter như VMHBA33 hoặc cao hơn. Trong ví dụ này bạn có thể thấy rằng nó là bộ chuyển đổi VMHBA37. Trong iSCSI Target nhấp vào tab Add để thêm iSCSI target của bạn. Bạn sẽ cần phải cung cấp địa chỉ IP hoặc tên máy chủ cho máy chủ Openfiler của bạn. Cổng port mặc định của 3260.
Openfiler add iSCSI target to ESXi
Sau khi thêm target bạn sẽ nhận được cảnh báo rằng bạn cần phải bấm nút Rescan the adapter để có thể nhìn thấy thiết bị vừa thêm vào có giá trị.
Openfiler ESXi rescan iSCSI HBA
Bây giờ bạn sẽ tìm thấy ở mục  Devices của  iSCSI software adapter , bạn sẽ nhìn thấy tên của iSCSI target tương ứng với tên đã có trong máy chủ Openfiler server.
Openfiler ESXi devices available
Tại thời điểm này bạn đã có 1 VMFS file system. Thao tác cuối cùng mở vSphere Client (Configuration Storage – bấm Add Storage) hoặc mở từ vSphere Web Client (bạn chọn máy chủ, Related Objects-tab – Datastores và bấm biểu tượng create a new datastore).
Tip Bạn chỉ cần tạo ra kho dữ liệu này một lần. Nếu bạn kích hoạt iSCSI Target trên máy chủ ESXi host khác thì các máy chủ ESXi host đó sẽ tự động xác định ra các VMFS datastorage mới khi bậm bấm nút rescan.

 

Sử dụng xác thực bằng CHAP authentication

Trong trường hợp bạn cần bảo mật khi cấu hình chia sẻ lưu trữ cho các máy khác bằng  phần mềm iSCSI software. Bạn sẽ cần phải thêm kiểu chứng thực bằng giao thức Challenge Handshake Authentication Protocol để cài iSCSI.
Trong cấu hình Openfiler truy xuất vào Volumes và chọn CHAP Authentication. Nó sẽ yêu cầu username và password. Username sẽ dùng để truy xuất vào iSCSI initiator name hoặc bí danh có trong ESXi-host.
Openfiler add CHAP
Tiếp theo bạn cần thêm CHAP-authentication tới iSCSI-adapter có trong ESXi.
Openfiler add CHAP to ESXi
Chọn Use unidirectional CHAP theo danh sách kéo xuống. Tiếp theo bạn cần quyết định dùng thiết bị nào làm ổ chứng iSCSI-target.
Openfiler configure CHAP secret on ESXi
Share:

Sunday, November 6, 2016

Cách cấu hình NFS/SMB NAS trên Windows 2012 R2 để kết nối NAS với ESXi Host 6.0

Nếu bạn đã có một số phần cứng được ảo hóa mạng, lưu trữ cũng được ảo hóa rồi, Windows Server 2012 có thể là một giải pháp tuyệt vời cho một thiết bị lưu trữ ảo.
Bây giờ bạn có thể làm cả hai khối (iSCSI) và NAS (NFS kết hợp SMB) trên cùng một máy chủ ảo hoặc nhiều máy chủ ảo nằm trên các ESXi Host khác nhau thuận tiện cho việc làm các cấu trúc lưu trữ failover-cluster, cũng như có một hệ điều hành để cài đặt một số ứng dụng quản lý lưu trữ trên đó.
Trong bài thực hành này của tôi, chúng ta sử dụng máy chủ quản lý lưu trữ để chạy VDP/ Veeam Backup cho các sao lưu VMs, màn hình mạng PRTG để theo dõi băng thông, cũng như sử dụng máy chủ windows 2012 R2 này cho việc sử dụng NFS/SMB gắn kết với vSphere ESXi Host.
Bước 1. Cài NFS Server, giao thức SMB và tính năng quản lý nguồn tài nguyên:
Mở “Server Manager” và chọn đường dẫn: “Add roles and features”.
image
Chọn 1 “role-based or feature-based installation”
image
Chọn máy chủ bạn cần cài thêm tính năng NFS.
image
Hãy kéo xuống mục File and Storage Services và chọn trong danh sách Roles để thêm:
  • File Server Resource Manager
  • Server for NFS
image
Tiếp tục đến mục chọn tính năng “Features”
Hãy kéo danh sách xuống và chọn:
  • Enhanced Storage
  • Multipath I/O
  • SMB Bandwidth Limit
  • Telnet Client
  • Desktop Experience
image
image
Cuối cùng bạn xem lại cửa sổ xác nhận và cài đặt
image

Bước 2. Cấu hình NFS/SMB Quota, kích hoạt SMB và kết nối ESXi Host với NAS :
Mở “Server Manager”, chọn Menu “Tools”, chọn “File Server Resource Manager”:
image
Các bạn nên tạo ra các mẫu Quota giới hạn kích thước sử dụng NAS khác nhau để linh hoạt trong quản lý sử dụng kích thước tài nguyên NAS. Hệ thống hiện tại chỉ có một vài mẫu quản lý giới hạn chính, bạn nên copy để tạo mẫu riêng
image
Bấm chọn mục “Quota Templates” và chọn một dòng mẫu (ví dụ: 100 MB Limit) và Bấm phải chuột chọn menu pop-bar “Edit Template Properties…”
Lần đầu tiên, bạn nên bấm nút “Copy” để sao chép một Quota mới giống như mẫu đã có, sau đó sửa các thông số như: Template name:, Space limit, chọn Hard quota vì giới hạn về kích thước người dùng nên chính xác.
image
ví dụ:
image
Sau động tác khai thông số và bấm “OK” bạn sẽ nhận được thông báo áp dụng Quota mới này cho cả những cấu hình trước khi khởi tạo Quota này hay chỉ áp dụng mới.
image
Kiểm tra danh sách Quota đã có rule mới:
image
Bước 3: Tạo NFS Share để map Folders Share và Quota:
Mở My Computer bằng Windows Explorer:
Tạo 1 thư mục để làm lưu trữ NFS, bấm phải chuột vào thư mục này và chọn Properties
Quay lại màn hình Server Manager
image
Bấm vào mục Shares > Bấm TASKS và chọn menu pop-bar “New Share…”
image
Bấm chọn mục “NFS Share – Quick” trong cửa sổ “New Share Wizard”
image
Chọn ổ cứng, thư mục cần Share
image
Remote path to share: chính là thông số đường dẫn để ESXi Host kết nối tới
image
Đánh dấu chọn các chuẩn xác thực của Windows Authenticate, UNIX, Linux
image
Mục phân quyền truy cập thư mục Share, bạn có thể cho phép hoặc chặn các quyền của bất cứ Host, Computer name, PC client, ESXi Host theo IP và quyền “no access”, read only, Read/Write.
ví dụ: Tôi không chặn tất cả mạng LAN
image
Tiếp theo chọn Next
image
Tiếp tục làm thao tác tới phần xác nhận trước khi khởi tạo NFS Share
image

Trường hợp để tạo thư mục và tạoNFS Share, bạn cũng có thể thao tác trên My Computer
Chọn tiếp tab “NFS Sharing”, tiếp theo chọn nút “Manage NFS Sharing…”
image
Nhấp vào nút “Permission” để cho phép quyền readwrite trên thư mục đã được cấu hình NFS Share.
image
Bạn có thể Xóa Name: ALL MACHINES và chỉ cho add các máy chủ ESXi host (tên / IP chính xác) để hạn chế quyền truy cập của các máy trong mạng LAN kết nối tới NFS này.
Xin lưu ý: Các bước vừa xong không chia sẻ các thư mục theo Server Message Block (SMB) như bạn có thể được sử dụng để làm cho tiêu chuẩn của Windows File Shares. Đây chỉ là thiết lập NFS Sharing.
Bạn cũng có thể áp dụng Quota cho thư mục vừa cấu hình NFS/SMB bằng cách mở lại Server Manager > File and Storage Services > Shares
image
Chọn thư mục đã cấu hình NFS Share, chuyển xuống màn QUOTA
chọn TASKS > chọn configure Quota…

Bước 4: Tạo NFS Share để map Folders Share và Quota:
Dùng vSphere Client mở ESXi host
image
Chọn Tab “Configuration” > Chọn Storage và bấm mục “Add Storage…”
image
Chọn Network File System (chính là kết nối tới NAS)
image
Lưu ý:
– Bạn có thể cấu hình 2 card mạng ở phần máy chủ NFS và dùng cấu hình Nic Teaming để sinh ra 1 IP bond, điều chỉnh MTU từ 1500 –> Enable Jumbo Frame và MTU đổi lên 9000 giúp an toàn và tốc độ cân bằng tải, nhanh trong kết nối giữa ESXi Host và NAS.
– Bạn nên kiểm tra phần Folder Share theo vị trí và đúng chính xác tên chữ hoa chữ thường khi cấu hình máy NFS Server (nên cho thành chữ thường đỡ nhầm lẫn).
Kết quả sau khi kết nối đúng:
image


Chúc các bạn thành công !
Cảm ơn bài viết rất hay của anh Lê Toàn Thắng.
Share:

Find us on Google Plus

Powered by Blogger.

QUẢN TRỊ VIÊN