HướngdẫnchạyOpenVZ
Ngu
ồ
n:quantrimang.com
Một trong nhiều công cụ ảo hoá dành cho Linux để bạn lựa chọn là
OpenVZ
, phần mềm miễn phí thuộc Virtuozzo do SWsoft cung cấp. OpenVZ
và Virtuozzo là các giải pháp ảo hoá mức hệ điều hành, cho phép phân
vùng server thành các máy chủ riêng ảo (VPS). Dạo qua một vòng tài liệu
hướng dẫn trên chính OpenVZ, bạn sẽ thấy để hiểu được đầy đủ sâu sắc
về công cụ này thông qua các tàiliệu của nhà sản xuất không hề “dễ xơi”,
thậm chí còn “đáng sợ”. Chúng ta thử tìm cách thức dễ dàng hơn để khởi đầu
vớ
i OpenVZ: trên hệ thống Debian Etch.
Một năm trước đây, người dùng thường sử dụng Virtuozzo 3.0 cho Linux. Nhưng
không phải túi người nào cũng rủng rỉnh để “tậu” được bản quyền Virtuozzo.
OpenVZ mở ra giải pháp khác.
Khi nào nên sử dụng OpenVZ thay vì VMware Server hay
Xen? Điều đó tuỳ thuộc vào từng trường hợp cụ thể. Với
các hoạt động không cần chạy đa hệ điều này nhưng có
nhi
ều khách, tạo hầu hết phần cứng hoặc cung cấp sự
phân tách giữa các dịch vụ (như phân tách Web server
giữa file server và print server chẳng hạn) với khả năng
tràn tối thiểu, OpenVZ là lựa chọn tốt. Nhưng khi muốn
chạy hệ điều hành non-Linux (như FreeBSD hay Windows Server) trên máy trạm
Linux, nên sử dụng VMware hơn là OpenVZ (hoặc nếu mang tính thương mại và
bản quyền nhiều hơn, nên dùng Virtuozzo), vì OpenVZ không cung cấp khả
năng chạ
y đa hệ điều hành.
OpenVZ hỗ trợ nhiều nền tảng vi xử lý hơn là các bản luân phiên. VMware
Server và Xen có thể dùng được cho dòng x86, AMD 64; còn OpenVZ được
chấp nhận ở dòng x86, AMD64, Itanium (IA64), PowerPC, và UltraSPARC. Chú
ý là hiện nay chưa có các kernel (nhân hệ điều hành) PowerPC xây dựng trước
cho Debian, nhưng OpenVZ được hỗ trợ trên PowerPC.
Cài đặt OpenVZ
Có thể chạyOpenVZ trên bất kỳ hệ thống host nào, ví dụ ở đây là Debian. Bạn
hoàn toàn có thể dùng Ubuntu, Fedora Core, Gentoo hoặc bất kỳ
phân phối nào
khác với một mẫu hệ điều hành (OS template). Mẫu hệ điều hành là tập hợp các
gói dùng để tạo VPS, môi trường ảo AKA trong ngôn ngữ nước ngoài của
OpenVZ.
Các nhân Debian cho khách OpenVZ được lấy từ vùng lưu trữ OpenVZ, nhưng
chỉ cho Etch. Sử dụng kernel gần đây nhất cùng các gói “linux-header” lấy từ kho
lưu trữ OpenVZ, cài đặt chúng bằng lệnh -i linux-image-2.6.18-openvz-
686_02_i386.deb và dpkg -i linux-headers-2.6.18-openvz-
686_02_i386.deb. Nhớ thay tên gói trong ví dụ bằng tên file bạn download về.
Khi cài đặt các gói, dpkg đưa ra hai liên kết biểu tượng trỏ tới thư mục thiếu.
Nhưng, cho đến nay chưa có vấn đề xuất hiện khi dùng OpenVZ. Vì vậy, các
bạn không cần phả
i lo lắng.
Sau khi cài kernel và các header, bạn cần thêm một vài tham số (tìm trên
OpenVZ wiki) vào thư mục /etc/sysctl.conf để chuẩn bị cho hệ thống chạy
OpenVZ. Ví dụ, bạn cần nói với hệ thống cho phép gửi địa chỉ IP để các VPS
(máy chủ riêng ảo) cũng sử dụng được mạng chia sẻ. Chỉ cần thêm các dòng
này vào sysct.conf nếu chưa có, hoặc kiểm tra để chắc chắn xem chúng đã khớp
nhau chưa:
net.ipv4.ip_forward = 1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.all.rp_filter = 1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
Sau khi cài đặt kernel và thực hiện các thay đổi này, bạn cần khởi động lại máy.
Nhân kernel OpenVZ sẽ được thiết lập làm kernel mặc định trong menu GRUB
đã sẵn sàng.
Tiếp theo, cần sử dụng các tiện ích OpenVZ, dùng lệnh sau apt-get install
vzctl. Lệnh này sẽ cài đặt các gói vzctl và vzquota, gồm nhiều tiện ích (như
vzctl) cần để quản lý OpenVZ.
OpenVZ sẽ được thiết lập khởi động trong quá trình boot sau khi cài đặt các tiện
ích này. Nếu muốn sử dụng ngay bây giờ
, bạn cần khởi động OpenVZ “thủ
công” (hoặc khởi động lại). Khởi động OpenVZ bằng câu lệnh init script:
/etc/init.d/vz start
Thiết lập hệ thống khách
Bây giờ là thời gian thu thập một vài template và cài đặt hệ điều hành khách
(Guest Operating System). Bạn có thể tìm thấy một số được tạo trước đó trên
website download của OpenVZ, như các phiên bản của Fedora Core, Debian
Sarge và Debian Etch, CentOS, Gentoo, Mandriva, và openSUSE. Chú ý là các
khuôn mẫu này được dùng cho từng loại vi xử lý cụ thể. Vì thế hãy cẩn thận,
đừng download nhầm phiên bản mẫu AMD64 hay UltraSPARC nếu bạn sẽ chạy
nó trên hệ thống dòng x86.
Bạn cũng nên biết đến thư mục contrib chứa mẫu hệ điều hành do cộng đồng
OpenVZ lập ra. Đây không phải là các mẫu “chính thức”, nhưng nếu muốn chạy
Ubuntu, Slackware, AltLinux hay phân phối nào khác không thấy trong các mẫu
OpenVZ, bạn nên xem trong thư
mục này.
Nếu muốn chạy phân phối không có mẫu, có thể xem trong phần hướngdẫn
OpenVZ wiki về các mẫu hệ điều hành. OpenVZ không phải là phần mềm cải
tiến hơn VMware hay một số kỹ thuật ảo hoá khác. Cài đặt một phân phối Linux
trên VMware Server hay VMware Workstation thường đơn giản như chạy qua
thủ tục cài đặt của phân phối. Trong OpenVZ thì phức tạp hơn. Bạn cần phải tìm
hiểu thêm nhiều v
ề OpenVZ mới có thể chạy được hai thể hiện của khách.
Các mẫu OS download về cần lưu trữ trong thư mục /var/lib/vz/template/cache.
Chúng được để ở dạng tarred và gzipped khi bạn download về. Nếu muốn giữ
nguyên dạng, đừng giải nén chúng.
Để cài đặt hệ thống, sử dụng tiện ích vzctl. Có một tin xấu và một tin tốt ở đây.
Tin xấu là tiện ích vzctl không dễ dùng như các công cụ đồ hoạ giao di
ện người
dùng (GUI) trong Virtuozzo. Tin tốt là vzctl không quá khó sử dụng. Nó có thể
đọc theo kịch bản (script) và không phân biệt chữ hoa chữ thường. Nếu bạn
quản lý nhiều hệ thống OpenVZ, bạn cần viết cú pháp vào bất kỳ lúc nào. Nếu
không tạo hay “dọn dẹp” các hệ thống khách OpenVZ, lượng thời gian tiêu tốn
để vzctl quản lý trang và phác hoạ tuỳ chọn là rất lớn. Chúng ta hãy cùng xem
một số lệnh phổ biến nhất.
Cú pháp tạo hệ
thống khách là vzctl create vpsid ostemplate
ostemplatename. Trong đó vpsid là số gán cho hệ thống mới. OpenVZ đảo
ngược các ID thấp dưới 100 để sử dụng nội bộ. Vì thế tôi thường gán ID từ 1001
trở lên. Trong trường hợp nếu bạn download mẫu hệ điều hành Debian Sarge
cho dòng x86, chạy lệnh sau:
vzctl create 1001 ostemplate debian-3.1-i386-minimal
Khi host khách được cài đặt, bạn có thể tìm thấy file hệ thống trong thư mục
/var/lib/vz/root/vpsid và phạm vi riêng ở /var/lib/vz/private/vpsid (trừ khi thay đổi
các thiết lập dùng root
mặc định hoặc tuỳ chọn private). Thư mục riêng
bao gồm các file riêng cho môi trường ảo (VE).
Nếu bạn tạo khách với mã số vz là 1001, file hệ thống gốc nằm ở
/var/lib/vz/root/1001. File này sẽ trở nên hữu ích khi bạn muốn truy cập trực tiếp
file (như khi admin thực hiện cấu hình ngăn khách khởi động theo cách thông
thường chẳng hạn) hoặc trong các mục đích sao lưu.
Bây giờ chúng ta sẽ cài đặt mạng dù không mấy dễ dàng:
vzctl set ipadd ipaddr nameserver nameserverIP
hostname hostname save
Tham số ipadd gán cho địa chỉ IP giao diện venet đầu tiên trong hệ điều
hành khách. Tham số hostname gán tên host cho VPS (máy chủ riêng ảo),
và tham số nameserver cung cấp tên server. Giao diệ
n venet không cung
cấp cho các hệ thống khách OpenVZ mặc định địa chỉ vật lý MAC. Có nghĩa là,
bạn không thể lấy địa chỉ giao diện qua DHCP.
Tuy nhiên, đến nay, một số cư dân cộng đồng OpenVZ đã bổ sung thêm kiểu
giao diện mới gọi là veth, có thể cung cấp địa chỉ MAC. Thiết bị veth cũng cho
phép người dùng cài đặt server DHCP bên trong hệ điều hành khách. Người
dùng có thể cài đặt các thiết lập mạng riêng, nhưng không dùng đượ
c thiết bị
venet. Nếu muốn cung cấp giao diện veth thay vì venet, bạn có thể xem thêm
phần hướngdẫn trên OpenVZ wiki.
Quản lý OpenVZ
Khi VPS được cài đặt, khởi động hệ điều hành khách bằng cách chạy vzctl
start vpsid, trong đó vpsid là ID bạn gán cho khách khi tạo ra nó.
Bạn nên xem một số thông báo về khởi động VPS, kết thúc với các từ "VPS start
in progress " (VPS đang trong quá trình khởi động). Khi đó, VPS đang chạy với
lệnh vzlist
. Sau khi chạy vzlist, bạn sẽ thấy như sau:
VPSID NPROC STATUS IP_ADDR HOSTNAME
1002 4 running 10.0.1.34 vroomfondle
Sử dụng tuỳ chọn -a để hiển thị tất cả server riêng ảo (VPS), cho dù chúng đang
chạy hay không. Nếu muốn xem tài nguyên nào đang được khai thác, và xem
dung lượng bộ nhớ đang được sử dụng là bao nhiêu, chạy lệnh vzcalc -v
vpsid. Bạn sẽ thấy như sau:
Resource Current(%) Promised(%) Max(%)
Low Mem 0.13 1.20 1.20
Total RAM 0.55 n/a n/a
Mem + Swap 0.36 1.83 n/a
Alloc. Mem 0.67 1.83 13.82
Num. Proc 0.06 n/a 0.40
Memory 0.67 1.83 13.82
Thông số trên cho bạn biết dung lượng bộ nhớ đang được VPS dùng là bao
nhiêu, bao nhiêu được cấp phát cho VPS và mức tăng lên có thể là bao nhiêu.
Các tham số VPS sử dụng tuỳ chọn -o. (Xem trên trang vzcalc man để biết thêm
chi tiết).
Mặc định, các VPS không được khởi động cùng lúc với máy tính. Nhưng trong
hầu hết mọi trường hợp, người ta thường muốn VPS được load sau khi hệ thống
khởi động lại. Thay đổi thi
ết lập này, dùng vzctl như sau:
vzctl set vpsid onboot yes save
Tiện ích vzctl cũng được dùng để thiết lập tham số hệ thống, như tổng dung
lượng, tài nguyên CPU, truy cập mô hình bảng IP (iptable), v.v…. Chúng ta cùng
xem một ví dụ.
Một trong những điểm khó chịu trong OpenVZ là không dễ dàng chút nào khi nói
“cung cấp cho RAM VPS 256MB”. Thay vào đó, bạn phải điều chỉnh cặp tham số
và đọc qua một số tàiliệu kỹ thuật thì mới tìm ra được cách xử lý OpenVZ với b
ộ
nhớ.
Để đơn giản hơn một chút, tăng dung lượng RAM từ 256MB lên 1GB. Sau đó
cách thiết lập các tham số vmguarpage (bộ nhớ cấp phát cho VPS) và
privvmpage (dung lượng lớn bộ nhớ nhất được cấp phát) như sau:
vzctl set vpsid vmguarpages 65536 save
vzctl set vpsid privvmpages 262144 save
Một cách khác trực quan hơn là tính toán tổng dung lượng RAM bằng “các
trang” trên diễn đàn SWsoft forum
. Cần nhân thêm dung lượng RAM 256 bằng
cách:
vzctl set vpsid vmguarpages $((256 * 256)) save
vzctl set vpsid privvmpages $((256 * 1024)) save
Đọc trang man và wiki OpenVZ, cùng một số tàiliệu khác để biết thêm thông tin
chi tiết.
Khi thiết lập tham số cho từng VPS, các thiết thiết lập cấu hình được lưu trữ ở:
/
etc/vz/conf/vpsid.conf. Nếu muốn thực hiện một thay đổi nào đó trên file, bạn có
thể sử dụng tiện ích vzcfgvalidate để đảm bảo file cấu hình luôn được chính
xác.
Thông thường, với các host, bạn cần sử dụng hệ thống admin đã thay đổi mật
khẩu thư mục gốc. Với các hệ thống vật lý, bạn cần khởi động lại hệ thống và
nhập mô hình người dùng đơn (single-user)
để truy cập thư mục gốc cho các
nhiệm vụ quản trị điều khiển. Với OpenVZ, tất cả điều bạn cần làm là vào một
nút phần cứng và dùng vzctl để đăng nhập:
vzctl enter vpid
Câu lệnh này cho phép bạn đăng nhập vào VPS với vai trò root. Sau khi thực
hiện xong hoạt động quản trị bạn cần, gõ lệnh exit để thoát. Nếu muốn thiết lập
lại mật kh
ẩu cho người dùng, sử dụng tuỳ chọn userpasswd:
vzctl set vpsid userpasswd user:passwd
Nếu người dùng (user) không tồn tại, nó sẽ được tạo.
Nếu muốn chạy lệnh trong VPS mà không cần đăng nhập VPS thực sự, sử dụng
tham số exec cho vzctl để chạy lệnh ở thư mục gốc (root). Ví dụ, nếu muốn
chạy lệnh nâng cấp nhanh trong Debian VPS:
vzctl exec vpsid apt-get upgrade
Lệnh này sẽ chạy apt-get upgrade trong bản thân VPS.
Để tắt VPS, chạy lệnh ngừng vzctl stop vpsid. Lệnh này sẽ thực thi tắt
hoàn toàn bên trong VPS. Chạy vzctl restart vpsid để khởi động lại VPS. Các
VPS có thể được tắt hoặc khởi động lại một cách bình thường bên trong VPS.
Đã đủ rồi, xin tạm biệt
Đến bây giờ, hệ thống khách đã chạy ổn định, và cũng nên đóng gói nó lại. Nếu
muốn loại bỏ VPS, sử dụng lệnh
destroy với vzctl:
vzctl destroy veid
Một điểm cần đặc biệt chú ý ở đây là: tiện ích vzctl không yêu cầu xác nhận lại
trước khi phá huỷ VPS. Ngay sau khi ấn Enter, VPS sẽ bị loại bỏ, kể cả các thư
mục dữ liệu riêng. Nếu không sao lưu, bạn sẽ gặp trở ngại khi muốn truy vấn dữ
liệu.
Còn nhiều điều để nói, nhưng như thế cũng là đã đủ để bắt đầu với OpenVZ.
Không phải mất quá nhiều thời gian tra tìm, đọc hiểu từ các wiki hay tàiliệu của
nhà sản xuất, nhưng sau khi chạy thành công VPS với những bước khởi đầu,
bạn nên tham khảo thêm một số tàiliệu khác để hiểu sâu hơn về OpenVZ.
. Hướng dẫn chạy OpenVZ
Ngu
ồ
n:quantrimang.com
Một trong nhiều công cụ ảo hoá dành cho Linux để bạn lựa chọn là
OpenVZ
, phần mềm. Dạo qua một vòng tài liệu
hướng dẫn trên chính OpenVZ, bạn sẽ thấy để hiểu được đầy đủ sâu sắc
về công cụ này thông qua các tài liệu của nhà sản xuất không