Skip to content

Commit 6882f73

Browse files
author
CanhDX
committed
Update
1 parent 3493c41 commit 6882f73

File tree

1 file changed

+134
-73
lines changed

1 file changed

+134
-73
lines changed

docs/Ubuntu1804.md

Lines changed: 134 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
qemu-img create -f qcow2 /var/lib/libvirt/images/u18.qcow2 10G
2121
```
2222

23-
- Tạo máy ảo với tool *Virt-Manager*. Import file disk máy ảo.
23+
- Tạo máy ảo với tool `Virt-Manager`. Import file disk máy ảo.
2424

2525
![u18](../images/ubuntu18/u18-00.png)
2626

@@ -125,77 +125,170 @@ qemu-img create -f qcow2 /var/lib/libvirt/images/u18.qcow2 10G
125125
![u18](../images/ubuntu18/u18-26.png)
126126

127127

128-
### 1.2. Chỉnh sửa file .xml của máy ảo, bổ sung thêm channel trong `<devices>` (để máy host giao tiếp với máy ảo sử dụng qemu-guest-agent), sau đó save lại
129-
`virsh edit u18-01`
128+
## Bước 2 : Tắt máy ảo, xử lí trên KVM host
130129

131-
với `u18-01` là tên máy ảo
132-
```
130+
- Chỉnh sửa file `.xml` của máy ảo, bổ sung thêm channel trong <devices> (để máy host giao tiếp với máy ảo sử dụng qemu-guest-agent), sau đó save lại
131+
132+
`virsh edit ubuntu16`
133+
134+
với `ubuntu16` là tên máy ảo
135+
136+
``` sh
133137
...
134138
<devices>
135139
<channel type='unix'>
136140
<target type='virtio' name='org.qemu.guest_agent.0'/>
137141
<address type='virtio-serial' controller='0' bus='0' port='1'/>
138142
</channel>
139143
</devices>
144+
...
140145
```
146+
> Nếu đã tồn tại `channel` đổi port channel này về `port='2'` và add channel bình thường
141147
142-
### 1.3. Tạo thêm thư mục cho channel vừa tạo và phân quyền cho thư mục đó
143-
```
144-
mkdir -p /var/lib/libvirt/qemu/channel/target
145-
chown -R libvirt-qemu:kvm /var/lib/libvirt/qemu/channel
146-
```
148+
![](../images/ubuntu12/u12_install_54.png)
147149

148-
### 1.4. Dùng `vim` để sửa file `/etc/apparmor.d/abstractions/libvirt-qemu`
149-
`vim /etc/apparmor.d/abstractions/libvirt-qemu`
150150

151-
Bổ sung thêm cấu hình sau vào dòng cuối cùng
152-
```
153-
/var/lib/libvirt/qemu/channel/target/*.qemu.guest_agent.0 rw,
154-
```
155-
#### *Mục đích là phân quyền cho phép libvirt-qemu được đọc ghi các file có hậu tố `.qemu.guest_agent.0` trong thư mục `/var/lib/libvirt/qemu/channel/target`*
151+
## 2. Thực hiện trên máy ảo cài đặt các dịch vụ cần thiết
152+
153+
### 2.1. Setup môi trường
154+
155+
Bật máy ảo lên, truy cập vào máy ảo. Lưu ý với lần đầu boot, bạn phải sử dụng tài khoản `ubuntu` tạo trong quá trình cài os, chuyển đổi nó sang tài khoản root để sử dụng.
156156

157-
Khởi động lại `libvirt``apparmor`
157+
Cấu hình cho phép login root và xóa user `ubuntu` chỉnh `/etc/ssh/sshd_config`
158+
```sh
159+
sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/'g /etc/ssh/sshd_config
160+
service sshd restart
158161
```
159-
service libvirt-bin restart
160-
service apparmor reload
162+
163+
Đặt passwd cho root
164+
```sh
165+
sudo su
166+
# Đặt passwd cho root user
167+
passwd
168+
Enter new UNIX password: <root_passwd>
169+
Retype new UNIX password: <root_passwd>
161170
```
162171

163-
### 1.5. Bật máy ảo
172+
Restart sshd
173+
```sh
174+
sudo service ssh restart
175+
```
164176

165-
## 2. Thực hiện trên máy ảo
177+
Disable firewalld
178+
```sh
179+
sudo apt-get install ufw -y
180+
sudo ufw disable
181+
sudo stop disable
182+
```
166183

167-
### 2.1. Setup môi trường
184+
Logout hẳn ra khỏi VM
185+
```sh
186+
logout
187+
```
168188

169-
- Cấu hình cho phép login root và xóa user ubuntu chỉnh vi /etc/ssh/sshd_config
189+
Login lại bằng user `root` và xóa user `ubuntu`
170190
```sh
171-
sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/'g /etc/ssh/sshd_config
172-
service sshd restart
191+
userdel ubuntu
192+
rm -rf /home/ubuntu
173193
```
174194

175-
- Chỉnh sửa timezone về Asia/Ho_Chi_Minh
195+
Đổi timezone về `Asia/Ho_Chi_Minh`
176196
```sh
177197
dpkg-reconfigure tzdata
178198
```
179199

180-
- Disable ipv6
181-
```
200+
Disable ipv6
201+
```sh
182202
echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
183203
echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.conf
184204
echo "net.ipv6.conf.lo.disable_ipv6 = 1" >> /etc/sysctl.conf
185-
# Kiểm tra config add thành công
186205
sysctl -p
187-
# Kiểm tra disable ipv6
188206
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
189-
# Output: 1: OK, 0: NotOK
190207
```
208+
> Output: 1: OK, 0: NotOK
191209
192-
- Update
210+
Update
193211
```sh
194-
sudo apt-get update -y
195-
sudo apt-get upgrade -y
212+
sudo apt-get update -y
213+
sudo apt-get upgrade -y
196214
sudo apt-get dist-upgrade -y
215+
sudo apt-get autoremove
216+
```
217+
218+
Kiểm tra swap file
219+
```sh
220+
root@ubuntu:~# cat /proc/swaps
221+
Filename Type Size Used Priority
222+
/swap.img file 2023420 0 -2
223+
```
224+
225+
Xóa swap
226+
```sh
227+
swapoff -a
228+
rm -rf /swap.img
229+
```
230+
> Kiểm tra
231+
```sh
232+
root@ubuntu:~# free -m
233+
total used free shared buff/cache available
234+
Mem: 1993 127 699 1 1166 1691
235+
Swap: 0 0 0
236+
```
237+
238+
Cấu hình để instance báo log ra console và đổi name Card mạng về eth* thay vì ens, eno
239+
```sh
240+
sed -i 's|GRUB_CMDLINE_LINUX=""|GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0 console=tty1 console=ttyS0"|g' /etc/default/grub
241+
update-grub
242+
```
243+
244+
Cấu hình network sử dụng ifupdown thay vì netplan
245+
246+
- Cài đặt service ifupdown
247+
```sh
248+
apt-get install ifupdown -y
249+
```
250+
251+
- Disable netplan
252+
```sh
253+
cat << EOF > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
254+
network: {config: disabled}
255+
EOF
256+
257+
rm -rf /etc/netplan50-cloud-init.yaml
197258
```
198259

260+
- Tạo file interface
261+
```sh
262+
cat << EOF > /etc/network/interfaces
263+
auto lo
264+
iface lo inet loopback
265+
auto eth0
266+
iface eth0 inet dhcp
267+
EOF
268+
```
269+
270+
Reboot lại Server kiểm tra `eth0`, network
271+
272+
Tiến hành SNAPSHOT lại KVM host để lưu trữ và đóng gói lại khi cần thiết
273+
274+
- Shutdown VM
275+
276+
![](../images/kvm/shutdown.png)
277+
278+
- Tiến hành truy cập tab `Snapshot` để snapshot
279+
280+
![](../images/kvm/snap.png)
281+
282+
### ==> Start lại máy ảo SSH vào
283+
284+
285+
Cài đặt các Sofware phần mềm cần thiết (Nếu có )
286+
- Plesk, DA, ...
287+
- Gitlab, Owncloud
288+
289+
==> Sau khi cài đặt xong tiến hành shutdown và snapshot lại bản cài đặt
290+
291+
199292
### 2.2.Để máy ảo khi boot sẽ tự giãn phân vùng theo dung lượng mới, ta cài các gói sau:
200293
```
201294
apt-get install cloud-utils cloud-initramfs-growroot -y
@@ -210,24 +303,18 @@ mv netplug /etc/netplug/netplug
210303
chmod +x /etc/netplug/netplug
211304
```
212305

213-
### 2.3. Cấu hình user default
306+
### 2.4. Cấu hình user default
214307

215308
```sh
216309
sed -i 's/name: ubuntu/name: root/g' /etc/cloud/cloud.cfg
217310
```
218311

219-
### 2.4. Xóa bỏ thông tin của địa chỉ MAC
312+
### 2.5. Xóa bỏ thông tin của địa chỉ MAC
220313
```sh
221314
echo > /lib/udev/rules.d/75-persistent-net-generator.rules
222315
echo > /etc/udev/rules.d/70-persistent-net.rules
223316
```
224317

225-
### 2.5. Cấu hình để instance báo log ra console và đổi name Card mạng về eth* thay vì ens, eno
226-
```sh
227-
sed -i 's|GRUB_CMDLINE_LINUX=""|GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0 console=tty1 console=ttyS0"|g' /etc/default/grub
228-
update-grub
229-
```
230-
231318
### 2.6. Disable default config route
232319

233320
- Comment dòng `link-local 169.254.0.0` trong `/etc/networks`
@@ -248,7 +335,7 @@ apt-get update -y
248335
apt-get install qemu-guest-agent -y
249336
```
250337

251-
#### Kiểm tra phiên bản `qemu-ga` bằng lệnh:
338+
> Kiểm tra phiên bản `qemu-ga` bằng lệnh:
252339
```
253340
qemu-ga --version
254341
service qemu-guest-agent status
@@ -260,40 +347,14 @@ QEMU Guest Agent 2.11.0
260347
* qemu-ga is running
261348
```
262349

263-
### 2.8. Cấu hình network sử dụng ifupdown thay vì netplan
264-
265-
- Cài đặt service ifupdown
266-
```sh
267-
apt-get install ifupdown -y
268-
```
269-
270-
- Disable netplan
271-
```sh
272-
cat << EOF > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
273-
network: {config: disabled}
274-
EOF
275-
276-
rm -rf /etc/netplan50-cloud-init.yaml
277-
```
278-
279-
- Tạo file interface
280-
```sh
281-
cat << EOF > /etc/network/interfaces
282-
auto lo
283-
iface lo inet loopback
284-
auto eth0
285-
iface eth0 inet dhcp
286-
EOF
287-
```
288-
289-
### 2.9. Cấu hình datasource
350+
### 2.8. Cấu hình datasource
290351

291352
- Bỏ chọn mục `NoCloud` bằng cách dùng dấu `SPACE`, sau đó ấn `ENTER`
292353
```sh
293354
dpkg-reconfigure cloud-init
294355
```
295356

296-
![u18](/ghichep/ManhDV/images/u18-27.png)
357+
![u18](../images/ubuntu18/u18-27.png)
297358

298359
- Clean cấu hình và restart service :
299360
```sh
@@ -307,7 +368,7 @@ systemctl restart cloud-init
307368
init 0
308369
```
309370

310-
### 2.10 Kiểm tra
371+
### 2.9 Kiểm tra
311372
- Restart máy ảo và kiểm tra service cloud-init
312373

313374
```

0 commit comments

Comments
 (0)