Как Π΄Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΡ‚Π΅ OpenVZ 6 ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ към KVM ΡΡŠΡ€Π²ΡŠΡ€ Π±Π΅Π· главоболия

ВсСки, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠ½Π΅ вСднъТ Π² ΠΆΠΈΠ²ΠΎΡ‚Π° си Π΅ ΠΈΠΌΠ°Π» Π½ΡƒΠΆΠ΄Π° Π΄Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈ OpenVZ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ към ΡΡŠΡ€Π²ΡŠΡ€ с пълна KVM виртуализация, Π΅ срСщал някои ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ:

  • По-голямата част ΠΎΡ‚ информацията просто Π΅ остаряла ΠΈ Π΅ подходяща Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми, ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΡ‚Π΄Π°Π²Π½Π° са ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π»ΠΈ Ρ†ΠΈΠΊΡŠΠ»Π° EOL
  • Π—Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми Π²ΠΈΠ½Π°Π³ΠΈ сС прСдоставя Ρ€Π°Π·Π»ΠΈΡ‡Π½Π° информация ΠΈ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ сС Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΈΡ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° миграцията
  • Понякога трябва Π΄Π° сС справятС с ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π΅ искат Π΄Π° работят слСд миграцията

ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΡˆ 1 ΡΡŠΡ€Π²ΡŠΡ€ Π²ΠΈΠ½Π°Π³ΠΈ моТСш Π΄Π° ΠΎΠΏΡ€Π°Π²ΠΈΡˆ Π½Π΅Ρ‰ΠΎ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, Π° ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΡˆ цял ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€?

Π’ Ρ‚Π°Π·ΠΈ статия Ρ‰Π΅ сС ΠΎΠΏΠΈΡ‚Π°ΠΌ Π΄Π° Π²ΠΈ ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π΄Π° ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°Ρ‚Π΅ OpenVZ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ към KVM с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° прСстой ΠΈ Π±ΡŠΡ€Π·ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° всички ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ.

Малка ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°: ΠΊΠ°ΠΊΠ²ΠΎ Π΅ OpenVZ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ KVM?

Няма Π΄Π° Π½Π°Π²Π»ΠΈΠ·Π°ΠΌΠ΅ Π² тСрминологията, Π° Ρ‰Π΅ ΠΊΠ°ΠΆΠ΅ΠΌ Π½Π°ΠΉ-ΠΎΠ±Ρ‰ΠΎ:

OpenVZ β€” виртуализация Π½Π° Π½ΠΈΠ²ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΡ€ΠΈ Π΄Π° я Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠ²ΡŠΠ»Π½ΠΎΠ²Π° ΠΏΠ΅Ρ‡ΠΊΠ°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ няма Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ инструкции Π½Π° процСсора ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π·Π° виртуализация Π½Π° хост ΠΌΠ°ΡˆΠΈΠ½Π°Ρ‚Π°.

KVM - ΠΏΡŠΠ»Π½ΠΎΡ†Π΅Π½Π½Π° виртуализация, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰Π° цялата мощност Π½Π° процСсора ΠΈ способна Π΄Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° ΠΊΠ°ΠΊΠ²ΠΎΡ‚ΠΎ ΠΈ Π΄Π° Π΅, разрязвайки Π³ΠΎ надлъТ ΠΈ Π½Π°ΠΏΡ€Π΅Ρ‡Π½ΠΎ.

ΠŸΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎ Π½Π° ΠΎΠ±Ρ‰ΠΎΠΏΡ€ΠΈΠ΅Ρ‚ΠΎΡ‚ΠΎ схващанС, Ρ‡Π΅ срСд хостинг доставчицитС OpenVZ Ρ‰Π΅ станС ΡΠ²Ρ€ΡŠΡ…ΠΏΡ€ΠΎΠ΄Π°Π΄Π΅Π½, Π½ΠΎ KVM няма - Π·Π° щастиС Π½Π° послСдния, KVM сСга Π΅ ΡΠ²Ρ€ΡŠΡ…ΠΏΡ€ΠΎΠ΄Π°Π΄Π΅Π½ Π½Π΅ ΠΏΠΎ-лошо ΠΎΡ‚ Π±Ρ€Π°Ρ‚ си.

Какво Ρ‰Π΅ прСнСсСм?

ΠšΠ°Ρ‚ΠΎ тСстови субСкти Π·Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅Ρ‚ΠΎ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ цялата Π³ΠΎΡ€Π° ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми, Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π² OpenVZ: CentOS (6 ΠΈ 7 вСрсии), Ubuntu (14, 16 ΠΈ 18 LTS), Debian 7.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡˆΠ΅ сС, Ρ‡Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π½Π° OpenVZ Π²Π΅Ρ‡Π΅ работят с някакъв Π²ΠΈΠ΄ LAMP, Π° някои Π΄ΠΎΡ€ΠΈ ΠΈΠΌΠ°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ спСцифичСн софтуСр. Най-чСсто Ρ‚ΠΎΠ²Π° бяха ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ с ISPmanager, контролния ΠΏΠ°Π½Π΅Π» VestaCP (ΠΈ Π½Π°ΠΉ-чСсто Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΎΡ‚ Π³ΠΎΠ΄ΠΈΠ½ΠΈ). Π˜ΡΠΊΠ°Π½ΠΈΡΡ‚Π° ΠΈΠΌ Π·Π° трансфСр ΡΡŠΡ‰ΠΎ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π²Π·Π΅Ρ‚ΠΈ ΠΏΠΎΠ΄ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.

ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΡΡ‚Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΏΡ€ΠΈ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° IP адрСса Π½Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€; Ρ‰Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ΠΌ, Ρ‡Π΅ IP Π°Π΄Ρ€Π΅ΡΡŠΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΡŠΡ‚ Π΅ ΠΈΠΌΠ°Π», Π΅ записан Π½Π° VM ΠΈ Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ.

ΠŸΡ€Π΅Π΄ΠΈ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅, Π½Π΅ΠΊΠ° сС ΡƒΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ всичко ΠΏΠΎΠ΄ Ρ€ΡŠΠΊΠ°:

  • OpenVZ ΡΡŠΡ€Π²ΡŠΡ€, пълСн root Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ хост ΠΌΠ°ΡˆΠΈΠ½Π°Ρ‚Π°, Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° спиранС/ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π΅/стартиранС/ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ
  • KVM ΡΡŠΡ€Π²ΡŠΡ€, пълСн root Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ хост ΠΌΠ°ΡˆΠΈΠ½Π°Ρ‚Π°, с всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π° сС, Ρ‡Π΅ всичко Π²Π΅Ρ‡Π΅ Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΎ ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΎ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°.

Π”Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅Ρ‚ΠΎ

ΠŸΡ€Π΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅Ρ‚ΠΎ, Π½Π΅ΠΊΠ° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°ΠΌΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ‚ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅Ρ‚Π΅ ΠΎΠ±ΡŠΡ€ΠΊΠ²Π°Π½Π΅:

KVM_NODE - KVM хост машина
VZ_NODE - OpenVZ хост машина
CTID - OpenVZ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€
VM - KVM Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π΅Π½ ΡΡŠΡ€Π²ΡŠΡ€

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π·Π° миграция ΠΈ създаванС Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 1

Въй ΠΊΠ°Ρ‚ΠΎ трябва Π΄Π° прСмСстим ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° някъдС, Ρ‰Π΅ създадСм VM с ΠΏΠΎΠ΄ΠΎΠ±Π½Π° конфигурация Π½Π° KVM_NODE.
Π’Π°ΠΆΠ½ΠΎ! Врябва Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ VM Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма, която Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° CTID. НапримСр, Π°ΠΊΠΎ Ubuntu 14 Π΅ инсталиран Π½Π° CTID, Ρ‚ΠΎΠ³Π°Π²Π° Ubuntu 14 трябва Π΄Π° бъдС инсталиран Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина.Π’Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ вСрсии Π½Π΅ са Π²Π°ΠΆΠ½ΠΈ ΠΈ тяхното Π½Π΅ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ, Π½ΠΎ основнитС вСрсии трябва Π΄Π° са ΡΡŠΡ‰ΠΈΡ‚Π΅.

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ създадСм VM, Π½ΠΈΠ΅ Ρ‰Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ Π½Π° CTID ΠΈ Π½Π° VM (Π΄Π° Π½Π΅ сС Π±ΡŠΡ€ΠΊΠ° с Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° OS - Π½ΠΈΠ΅ Π½Π΅ Π³ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅, Π½ΠΈΠ΅ само Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ ΠΈ, Π°ΠΊΠΎ пристигнС, вСрсията Π½Π° OS Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° основния вСрсия).

Π—Π° CentOS Ρ‚ΠΎΠ·ΠΈ процСс ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π±Π΅Π·Π²Ρ€Π΅Π΄Π΅Π½:

# yum clean all
# yum update -y

И Π½Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π±Π΅Π·Π²Ρ€Π΅Π΄Π΅Π½ Π·Π° Ubuntu ΠΈ Debian:

# apt-get update
# apt-get upgrade

Π‘Ρ‚ΡŠΠΏΠΊΠ° 2

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΠΉΡ‚Π΅ Π½Π° CTID, VZ_NODE ΠΈ VM полСзност Rsync:

CentOS:

# yum install rsync -y

Debian, Ubuntu:

# apt-get install rsync -y

НС инсталирамС Π½ΠΈΡ‰ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ Π½ΠΈΡ‚ΠΎ Ρ‚Π°ΠΌ, Π½ΠΈΡ‚ΠΎ Ρ‚Π°ΠΌ.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 3

ΠŸΡ€Π°Π²ΠΈΠΌ спирка CTID Π½Π° VZ_NODE Π΅ΠΊΠΈΠΏ

vzctl stop CTID

ΠœΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ CTID:

vzctl mount CTID

ΠžΡ‚ΠΈΠ΄Π΅Ρ‚Π΅ Π² ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° /vz/root/CTID ΠΈ изпълни

mount --bind /dev dev && mount --bind /sys sys && mount --bind /proc proc && chroot .

Под root ΡΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» /root/exclude.txt - Ρ‚ΠΎΠΉ Ρ‰Π΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° списък с ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΊΠΎΠΈΡ‚ΠΎ няма Π΄Π° стигнат Π΄ΠΎ новия ΡΡŠΡ€Π²ΡŠΡ€

/boot
/proc
/sys
/tmp
/dev
/var/lock
/etc/fstab
/etc/mtab
/etc/resolv.conf
/etc/conf.d/net
/etc/network/interfaces
/etc/networks
/etc/sysconfig/network*
/etc/sysconfig/hwconf
/etc/sysconfig/ip6tables-config
/etc/sysconfig/kernel
/etc/hostname
/etc/HOSTNAME
/etc/hosts
/etc/modprobe*
/etc/modules
/net
/lib/modules
/etc/rc.conf
/usr/share/nova-agent*
/usr/sbin/nova-agent*
/etc/init.d/nova-agent*
/etc/ips
/etc/ipaddrpool
/etc/ips.dnsmaster
/etc/resolv.conf
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-ens3

Π‘Π²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ сС с KVM_NODE ΠΈ стартирамС нашия VMΡ‚Π°ΠΊΠ° Ρ‡Π΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΈ Π΄Π° Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ ΠΏΡ€Π΅Π· ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°.

Π‘Π΅Π³Π° всичко Π΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎ Π·Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅. ΠžΡ‚ΠΈΠ²Π°ΠΌ!

Π‘Ρ‚ΡŠΠΏΠΊΠ° 4

ВсС ΠΎΡ‰Π΅ ΠΏΠΎΠ΄ магията, изпълнявамС

rsync --exclude-from="/root/exclude.txt" --numeric-ids -avpogtStlHz --progress -e "ssh -T -o Compression=no -x" / root@KVM_NODE:/

ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° rsync Ρ‰Π΅ ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅Ρ‚ΠΎ, надявамС сС, Ρ‡Π΅ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅Ρ‚Π΅ са ясни - ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅Ρ‚ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° със Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° символни Π²Ρ€ΡŠΠ·ΠΊΠΈ, ΠΏΡ€Π°Π²Π° Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ, собствСници ΠΈ Π³Ρ€ΡƒΠΏΠΈ, Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ΠΎ Π·Π° ΠΏΠΎ-голяма скорост (ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΏΠΎ-Π±ΡŠΡ€Π· ΡˆΠΈΡ„ΡŠΡ€, Π½ΠΎ Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π²Π°ΠΆΠ½ΠΎ Π·Π° Ρ‚Π°Π·ΠΈ Π·Π°Π΄Π°Ρ‡Π°), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ компрСсията Π΅ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π°.

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Π·Π°Π²ΡŠΡ€ΡˆΠΈΡ‚Π΅ rsync, ΠΈΠ·Π»Π΅Π·Ρ‚Π΅ ΠΎΡ‚ chroot (Ρ‡Ρ€Π΅Π· натисканС Π½Π° ctrl+d) ΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Ρ‚Π΅

umount dev && umount proc && umount sys && cd .. && vzctl umount CTID

Π‘Ρ‚ΡŠΠΏΠΊΠ° 5

НСка изпълним няколко ΡΡ‚ΡŠΠΏΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ‚ Π΄Π° стартирамС VM слСд ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ ΠΎΡ‚ OpenVZ.
На ΡΡŠΡ€Π²ΡŠΡ€ΠΈ с Systemd Π½Π΅ΠΊΠ° изпълним ΠΊΠΎΠΌΠ°Π½Π΄Π°, която Ρ‰Π΅ Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° Π²Π»Π΅Π·Π΅ΠΌ Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€Π΅Π· Π΅ΠΊΡ€Π°Π½ Π½Π° VNC ΡΡŠΡ€Π²ΡŠΡ€

mv /etc/systemd/system/getty.target.wants/[email protected] /etc/systemd/system/getty.target.wants/[email protected]

На ΡΡŠΡ€Π²ΡŠΡ€ΠΈ CentOS 6 ΠΈ CentOS 7 НС забравяйтС Π΄Π° инсталиратС Π½ΠΎΠ²ΠΎ ядро:

yum install kernel-$(uname -r)

Π‘ΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π·Π°Ρ€Π΅ΠΆΠ΄Π° ΠΎΡ‚ Π½Π΅Π³ΠΎ, Π½ΠΎ слСд трансфСра ΠΌΠΎΠΆΠ΅ Π΄Π° спрС Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΈΠ»ΠΈ Π΄Π° бъдС ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚.

На ΡΡŠΡ€Π²ΡŠΡ€Π° CentOS 7 трябва Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚Π΅ ΠΌΠ°Π»ΠΊΠ° корСкция Π·Π° PolkitD, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π΅Π½ случай ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Ρ‰Π΅ сС сринС Π·Π°Π²ΠΈΠ½Π°Π³ΠΈ:

getent group polkitd >/dev/null && echo -e "e[1;32mpolkitd group already existse[0m" || { groupadd -r polkitd && echo -e "e[1;33mAdded missing polkitd groupe[0m" || echo -e "e[1;31mAdding polkitd group FAILEDe[0m"; }

getent passwd polkitd >/dev/null 
&& echo -e "e[1;32mpolkitd user already existse[0m" || { useradd -r -g polkitd -d / -s /sbin/nologin -c "User for polkitd" polkitd && echo -e "e[1;33mAdded missing polkitd usere[0m" || echo -e "e[1;31mAdding polkitd user FAILEDe[0m"; }

rpm -Va polkit* && echo -e "e[1;32mpolkit* rpm verification passede[0m" || { echo -e "e[1;33mResetting polkit* rpm user/group ownership & permse[0m"; rpm --setugids polkit polkit-pkla-compat; rpm --setperms polkit polkit-pkla-compat; }

На всички ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, Π°ΠΊΠΎ Π΅ инсталиран mod_fcgid Π·Π° Apache, Ρ‰Π΅ ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈΠΌ ΠΌΠ°Π»ΠΊΠ° корСкция с ΠΏΡ€Π°Π²Π°, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π΅Π½ случай сайтовСтС, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ mod_fcgid, Ρ‰Π΅ сС сринат с Π³Ρ€Π΅ΡˆΠΊΠ° 500:

chmod +s `which suexec` && apachectl restart

И послСдното Π½Π΅Ρ‰ΠΎ Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° дистрибуции Π½Π° Ubuntu ΠΈ Debian. Π’Π°Π·ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма ΠΌΠΎΠΆΠ΅ Π΄Π° сС сринС ΠΏΡ€ΠΈ Π²Π΅Ρ‡Π½ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ с Π³Ρ€Π΅ΡˆΠΊΠ°

зацикля Ρ‚Π²ΡŠΡ€Π΄Π΅ Π±ΡŠΡ€Π·ΠΎ. забавянС Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΌΠ°Π»ΠΊΠΎ

нСприятно, Π½ΠΎ лСсно ΠΏΠΎΠΏΡ€Π°Π²ΠΈΠΌΠΎ, Π² зависимост ΠΎΡ‚ вСрсията Π½Π° ОБ.

На Debian 9 корСкцията ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°:

изпълнявамС

dbus-uuidgen

Π°ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π³Ρ€Π΅ΡˆΠΊΠ°

/usr/local/lib/libdbus-1.so.3: вСрсия `LIBDBUS_PRIVATE_1.10.8` Π½Π΅ Π΅ Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π°

ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° LIBDBUS

ls -la /lib/x86_64-linux-gnu | grep dbus
libdbus-1.so.3 -> libdbus-1.so.3.14.15 
libdbus-1.so.3.14.15 <-- Π½ΡƒΠΆΠ΅Π½ этот
libdbus-1.so.3.14.16

Π°ΠΊΠΎ всичко Π΅ Π½Π°Ρ€Π΅Π΄, Π½ΠΈΠ΅ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ

cd /lib/x86_64-linux-gnu
rm -rf libdbus-1.so.3
ln -s libdbus-1.so.3.14.15  libdbus-1.so.3

Ако Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π½Π΅, ΠΎΠΏΠΈΡ‚Π°ΠΉΡ‚Π΅ Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° опция.

Π’Ρ‚ΠΎΡ€ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с забавянС Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΌΠ°Π»ΠΊΠΎ ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΡΡ‰ Π·Π° ΠΏΠΎΡ‡Ρ‚ΠΈ всички дистрибуции Π½Π° Ubuntu ΠΈ Debian.

НиС изпълнявамС

bash -x /var/lib/dpkg/info/dbus.postinst configure

И Π·Π° Ubuntu 14, Debian 7 Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°ΠΌΠ΅:

adduser --system --home /nonexistent --no-create-home --disabled-password --group messagebus

rm -rf /etc/init.d/modules_dep.sh 

ΠΊΠ°ΠΊΠ²ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…ΠΌΠ΅ Π’ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ…ΠΌΠ΅ messagebus, ΠΊΠΎΠΉΡ‚ΠΎ липсвашС Π·Π° стартиранС Π½Π° Debian/Ubuntu, ΠΈ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ…ΠΌΠ΅ modules_dep, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ΄Π²Π° ΠΎΡ‚ OpenVZ ΠΈ ΠΏΡ€Π΅Ρ‡ΠΈ Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° ядрото.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 6

РСстартирамС VM, провСрявамС във VNC ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€Π΅Π΄Π²Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ ΠΈ Π² идСалния случай всичко Ρ‰Π΅ сС Π·Π°Ρ€Π΅Π΄ΠΈ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Π΅ възмоТно някои спСцифични ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π΄Π° сС появят слСд миграцията, Ρ‚Π΅ са извън ΠΎΠ±Ρ…Π²Π°Ρ‚Π° Π½Π° Ρ‚Π°Π·ΠΈ статия ΠΈ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½ΠΈ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π²ΡŠΠ·Π½ΠΈΠΊΠ½Π°Ρ‚.

Надявам сС Ρ‚Π°Π·ΠΈ информация Π΄Π° Π΅ ΠΏΠΎΠ»Π΅Π·Π½Π°! πŸ™‚

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€