1. Trang chủ
  2. » Công Nghệ Thông Tin

Cách tạo template OpenVZ trên Debian Wheezy (Testing) pptx

10 274 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 410,41 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cách tạo template OpenVZ trên Debian Wheezy Testing Trong bài viết trước, các bạn đã được hướng dẫn cách cài đặt và sử dụng OpenVZ trên CentOS 6.0.. Sau khi đã quen thuộc với công nghệ

Trang 1

Cách tạo template OpenVZ trên Debian

Wheezy (Testing) Trong bài viết trước, các bạn đã được hướng dẫn cách cài đặt và sử dụng OpenVZ trên CentOS 6.0 Sau khi đã quen thuộc với công nghệ OpenVZ, hôm nay chúng ta sẽ tiến hành tạo một template OpenVZ cho Debian Wheezy (Debian Testing), từ đó bạn có thể sử dụng để tạo máy ảo Debian Wheezy trong OpenVZ Bạn cũng có thể thực hiện hướng dẫn này để tạo template cho

Debian Lenny hoặc các phiên bản Ubuntu gần đây

Chuẩn bị hệ thống Host

Lưu ý các bước này cần thực hiện trên hệ thống máy chủ!

Trước tiên chúng ta tiến hành cài đặt deboostrap cho Wheezy guest:

apt-get install debootstrap

Tiếp theo hãy chắc chắn rằng /vz là một symlink tới /var/lib/vz:

ln -s /var/lib/vz /vz

Trang 2

Bây giờ chúng ta cài đặt phiên bản 64-bit của Debian Wheezy trong thư mục

/vz/private/777 (với 777 là container ID của Wheezy guest; bạn có thể thay bằng

con số khác nếu muốn)

debootstrap arch amd64 wheezy /vz/private/777

ftp://ftp.de.debian.org/debian/

Giả sử chúng ta muốn tạo một template cho i386, câu lệnh sẽ như sau:

debootstrap arch i386 wheezy /vz/private/777

ftp://ftp.de.debian.org/debian/

Hãy chắc chắn rằng bạn sử dụng một mirror Debian gần với mình nhất Ở đây

chúng tôi dùng mirror từ Đức: ftp://ftp.de debian.org/debian/; bạn có thể thay thế

de bằng mã quốc gia của mình, chẳng hạn ftp://ftp.fr debian.org/debian/ (Pháp)

hoặc ftp://ftp.us debian.org/debian/ (Mỹ)

Sau đó mở /etc/sysctl.conf:

vi /etc/sysctl.conf

Và thêm vào như dưới đây để thiết lập:

[ ]

### OpenVZ settings

# On Hardware Node we generally need packet

# forwarding enabled and proxy arp disabled

net.ipv4.conf.default.forwarding=1

net.ipv4.conf.default.proxy_arp = 0

net.ipv4.ip_forward=1

Trang 3

# Enables source route verification

net.ipv4.conf.all.rp_filter = 1

# Enables the magic-sysrq key

kernel.sysrq = 1

# TCP Explict Congestion Notification

net.ipv4.tcp_ecn = 0

# we do not want all our interfaces to send redirects net.ipv4.conf.default.send_redirects = 1

net.ipv4.conf.all.send_redirects = 0

Chạy lệnh:

sysctl -p

để những thay đổi có hiệu lực

Tiếp theo chúng ta áp dụng một cấu hình OpenVZ cơ bản cho container:

vzctl set 777 applyconfig basic save

Một cảnh báo sau đây xuất hiện, hãy bỏ qua nó

root@server1:~# vzctl set 777 applyconfig basic save

WARNING: /etc/vz/conf/777.conf not found: No such file

or directory

Saved parameters for CT 777

root@server1:~#

Trang 4

Dòng lệnh cuối cùng đã tạo ra một /etc/vz/conf/777.conf cho nội dung của chúng

ta Tiếp theo cần thêm biến OSTEMPLATE cho nó:

sh -c 'echo OSTEMPLATE=\"debian-7.0\"' >>

/etc/vz/conf/777.conf

Bạn có thể thay thế debian-7.0 bởi giá trị thích hợp cho distribution của mình để

sử dụng template mới Ví dụ: debian-6.0 cho Debian Squeeze hoặc ubuntu-11.04 cho Ubuntu 11.04

Tiếp theo chúng ta thêm một địa chỉ IP miễn phí từ subnet cho container mới và

thiết lập ít nhất một nameserver chứa container để truy cập vào Internet Ở đây

chúng tôi đang trong mạng 192.168.0.x, vì vậy sẽ gán 192.168.0.110 cho

container, đồng thời sử dụng nameservers của Google (8.8.8.8 và 8.8.4.4):

vzctl set 777 ipadd 192.168.0.110 save

vzctl set 777 nameserver 8.8.8.8 nameserver 8.8.4.4 save

Kiểm tra nếu /var/lib/vz/private/777/dev/ptmx tồn tại:

ls -l /var/lib/vz/private/777/dev/ptmx

thì bạn sẽ thấy nội dung sau:

root@server1:~# ls -l /var/lib/vz/private/777/dev/ptmx

1 root tty 5, 2 Mar 4 12:53 /var/lib/vz/private/777/d ev/ptmx

root@server1:~#

Ngược lại, hãy tạo nó bằng cách:

mknod mode 666 /var/lib/vz/private/777/dev/ptmx c 5 2

Khởi động container:

vzctl start 777

Trang 5

Và nhập vào:

vzctl enter 777

Chuẩn bị Container

Các bước tiếp theo phải được thực hiện trong Container!

Thiết lập biến PATH:

export

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin: /sbin:/bin

Mở /etc/apt/sources.list:

vi /etc/apt/sources.list

Và làm cho nó trông như thế này:

deb http://ftp.de.debian.org/debian wheezy main contrib deb http://security.debian.org wheezy/updates main

contrib

(một lần nữa hãy chắc chắn rằng bạn sử dụng một mirror Debian gần nhất với mình)

Cập nhật gói cơ sở dữ liệu:

apt-get update

Và cài đặt các bản cập nhật mới nhất:

apt-get upgrade

Bây giờ bạn có thể cài đặt toàn bộ các gói mà muốn cung cấp cho template

OpenVZ Thiết lập tối thiểu cho chúng như sau:

apt-get install ssh quota less vim-nox

Gán quyền chính xác cho thư mục /root:

Trang 6

chmod 700 /root

Ngoài ra, Nếu muốn bạn có thể vô hiệu hóa đăng nhập root:

usermod -L root

Tuy nhiên trong bài này chúng tôi vẫn sử dụng root nên bỏ qua lệnh này

Tiếp theo chúng ta vô hiệu hóa getty, sync() cho syslog và sửa chữa /etc/mtab:

sed -i -e '/getty/d' /etc/inittab

sed -i -e 's@\([[:space:]]\)\(/var/log/\)@\1-\2@' /etc/*syslog.conf

rm -f /etc/mtab

ln -s /proc/mounts /etc/mtab

Loại bỏ những gói không muốn cung cấp cho template:

dpkg purge modutils ppp pppoeconf pppoe pppconfig module-init-tools

Loại bỏ các liên kết startup hệ thống cho một vài dịch vụ:

update-rc.d-insserv -f klogd remove

update-rc.d-insserv -f quotarpc remove

update-rc.d-insserv -f exim4 remove

update-rc.d-insserv -f inetd remove

Mỗi container được tạo từ template này cần có các cặp key SSH, vì vậy chúng ta

sẽ xóa key SSH khỏi container:

rm -f /etc/ssh/ssh_host_*

Rồi tạo một script tự động tạo cặp key SSH cho lần đầu tiên khởi động:

vi /etc/init.d/ssh_gen_host_keys

#!/bin/sh

Trang 7

### BEGIN INIT INFO

# Provides: Generates new ssh host keys on first boot

# Required-Start: $remote_fs $syslog

# Required-Stop: $remote_fs $syslog

# Default-Start: 2 3 4 5

# Default-Stop:

# Short-Description: Generates new ssh host keys on first boot

# Description: Generates new ssh host keys on first boot

### END INIT INFO

ssh-keygen -f /etc/ssh/ssh_host_rsa_key -t rsa -N "" ssh-keygen -f /etc/ssh/ssh_host_dsa_key -t dsa -N "" insserv -r /etc/init.d/ssh_gen_host_keys

rm -f \$0

Thực thi script này và thêm các liên kết cho hệ thống startup:

chmod a+x /etc/init.d/ssh_gen_host_keys

insserv /etc/init.d/ssh_gen_host_keys

Tiếp theo cần điều chỉnh lại timezone (múi giờ):

dpkg-reconfigure tzdata

Làm sạch bộ nhớ đệm cho các gói:

apt-get purge clean

Thoát khỏi container

Trang 8

exit

Dọn dẹp, tạo Template và thử nghiệm

Các bước này phải thực hiện trên hệ thống máy chủ!

Bây giờ chúng ta sẽ loại bỏ IP address, nameservers, và hostname từ container: vzctl set 777 ipdel all save

cat /dev/null > /vz/private/777/etc/resolv.conf

rm -f /vz/private/777/etc/hostname

Dừng các container:

vzctl stop 777

Chuyển tới thư mục container:

cd /vz/private/777

Tạo template:

tar numeric-owner -zcf /vz/template/cache/debian-7.0-amd64-minimal.tar.gz

(Lưu ý không được bỏ qua dấu chấm ở cuối lệnh)

Xem trong thư mục /vz/template/cache bạn sẽ tìm thấy template mới

ls -lh /vz/template/cache

root@server1:/vz/private/777# ls -lh /vz/template/cache total 194M

-rw-r r 1 root root 80M Feb 7 2011 debian-6.0-amd64-minimal.tar.gz

-rw-r r 1 root root 114M Sep 1 22:55 debian-7.0-amd64-minimal.tar.gz

root@server1:/vz/private/777#

Vậy là bạn đã tạo ra một template OpenVZ đầu tiên

Trang 9

Bây giờ chúng ta sẽ tạo container từ template này để thử nghiệm Ví dụ dùng ID

888:

vzctl create 888 ostemplate debian-7.0-amd64-minimal

Khởi động nó:

vzctl start 888

Và kiểm tra xem có chạy thành công hay không bằng cách xem danh sách tiến trình của nó Nếu không có danh sách nào chứng tỏ bạn đã thất bại

vzctl exec 888 ps ax

root@server1:/vz/private/777# vzctl exec 888 ps ax

PID TTY STAT TIME COMMAND

1 ? Ss 0:00 init [2]

316 ? Sl 0:00 /usr/sbin/rsyslogd -c5

326 ? Ss 0:00 /usr/sbin/cron

335 ? Ss 0:00 /usr/bin/dbus-daemon

system

344 ? Ss 0:00 /usr/sbin/sshd

358 ? Rs 0:00 ps ax

root@server1:/vz/private/777#

Sau khi kiểm tra hoạt động, chúng ta cho dừng lại và loại bỏ container thử nghiệm: vzctl stop 888

vzctl destroy 888

rm /etc/vz/conf/888.conf.destroyed

Nếu không cần đến container nữa, tốt nhất hãy loại bỏ nó

cd

vzctl destroy 777

rm /etc/vz/conf/777.conf.destroyed

Trang 10

Nếu bạn muốn sử dụng template mới làm mặc định cho template khi tạo container (để không còn phải xác định ostemplate debian-7.0-amd64-minimal trong lệnh

vzctl create), có thể chỉnh sửa biến DEF_OSTEMPLATE trong /etc/vz/vz.conf:

vi /etc/vz/vz.conf

[ ]

DEF_OSTEMPLATE="debian-7.0-amd64-minimal"

[ ]

Ngày đăng: 07/03/2014, 01:20

HÌNH ẢNH LIÊN QUAN

Tiếp theo chúng ta áp dụng một cấu hình OpenVZ cơ bản cho container: - Cách tạo template OpenVZ trên Debian Wheezy (Testing) pptx
i ếp theo chúng ta áp dụng một cấu hình OpenVZ cơ bản cho container: (Trang 3)

TỪ KHÓA LIÊN QUAN

w