Виртуалчлал

Үг хэллэг:
виртуалчлал = virtualization
хатуумж = hardware
чөмөг = kernel

Хатуумж, үйлдлийн систем хоёрын дунд виртуалчлал үүсгэж нэг хатуумж дээр олон үйлдлийн систем ажиллуулах арга техникийг саяхнаас л үүссэн зүйл гэж боддог байлаа. Тэгтэл саяхан IBM -ийн вэб дээр Tim Jones гэдэг инженерийн бичсэнээс үзвэл аль 60-аад оны үеээс хийгдэж эхлэж байсан байх юм. Ер нь ингэж виртуалчлахын гол ашигтай тал нь хатуумжын нөөц бололцоог дээд зэргээр ашиглаж зардал хэмнэх юм. Компьютер гэдэг одоогийнхоос зуу дахин удаан зуу дахин үнэтэй байсан тухайн цаг үед ингэж ашиглахаас ч өөр аргагүй байсан биз.

Виртуалчлал дөрвөн янзын түвшинд хийгддэг ба эдгээр нь тус бүрийн онцлог талуудтай байдаг юм байна.

Hardware emulation. Энэ нь зочин үйлдлийн системийн хийж буй үйлдлүүдийг хатуумжын үйлдэл рүү хөрвүүлдэг учраас энгийнээс 100-1000 дахин удаан байдаг байна. Гэхдээ ийм төрлийн виртуалчлалын давуу тал нь арайхан үйлдвэлэгдээгүй байгаа хатуумжид зориулж хөгжүүлэлт хийх зэрэг боломжыг олгодогт байдаг юм байна. Жишээ нь : нэгэн шинэ төрлийн гар утас хийх боллоо гэхэд гар утсыг нь үйлдвэрлэж гаргаагүй байхад түүн дээр ажиллах үйлдлийн систем болоод апликэшнүүдийг нь hardware emulation ашиглаад хөгжүүлж байх боломжтой.

Full virtualization. Бүрэн виртуалчлал нь өмнөхөөс хамаагүй хурдан боловч хатуумж үйлдлийн систем хоёрын дундах зохицуулагч дээр ачаалал буух учир бас л нилээд удаан талдаа. Өмнөх шиг ямар ч хатуумж дээр зочинг ажиллуулдаггүй, зочин үйлдлийн системийн дэмжих хатуумж дээр л ажиллуулна. Учир нь зочин үйлдлийн системүүд маань яг л өгөгдсөн хатуумж дээр ганцаараа ажиллаж байгаа юм шиг ажиллацгааж, зохицуулагч тэдгээр зочидын хүсэлтийг хатуумж руу цувруулан дамжуулах ажлыг хийнэ.

Paravirtualization. Бүрэн виртуалчлалаас ялгаатай нь зочин үйлдлийн системүүд виртуалчлалд өөрсдөө оролцоно, өөрөөр хэлбэл зочин үйлдлийн системийн чөмгөнд виртуалчлалын кодыг суулгаж өгнө гэсэн үг. Энэ нь зохицуулагчын ажлыг хөнгөвчилж өгөх учраас бүрэн виртуалчлалаас хурдан ажилладаг.

Operating system-level virtualization. Үйлдлийн системийн түвшний виртуалчлал хийхэд олон үйлдлийн систем зэрэг ажиллуулах биш, харин нэг үйлдлийн систем дотроо хэд хэд сэрвэрүүдийг ажиллуулах ба эдгээр сэрвэрүүд бие биенээ мэдэхгүйгээр барахгүй файл системүүд нь ч тусдаа байна. Давуу тал нь хурдны хувьд хатуумжыг дээд зэргээр ашиглах болно.

Виртуалчлал хийхийн гол ашиг тус нь хэмнэлт гэж дээр дурдсан билээ, үүн дээр нэмээд техник талаас нь харвал дараах давуу талууд бий.

  • Нэгд, виртуалчлагдсан систем дээр ажиллаж байгаа системийг зөөх, өргөтгөх зэрэг зохицуулалт хийхэд туйлын хялбар.
  • Хоёрт, үйлдлийн системийн түвшинд алдаа гарч аль нэг үйлдлийн систем зогсоход бусад үйлдлийн системүүд ажилласаар байх учир найдвартай ажиллагааг хангах болно.

Линукс дээр суурилсан Bochs, QEMU, VMware, z/VM, Xen, UML, Linux-VServer,OpenVZ, Linux KVM гээд маш олон виртуалчлалууд байдаг юм байна. Миний бичсэн ойлгогдохооргүй бол эдгээрийн дэлгэрэнгүйг түрүүний өгүүллээс уншиж болно. Xen-ийг нэг удаа туршиж үзэж байсан, paravirtualization учраас линуксын чөмөг нь xen-ийг дэмжиж байхыг шаарддаг.

Ер нь ирээдүйд манайд ч гэсэн виртуалчлал хэрэглэдэг болно гэдэгт найдаж байна. Жишээ нь вэб ност хийхэд томоохон вэб апликэшнийг тусад нь нэг сэрвэр дээр биш виртуал сэрвэр дотор хийчихвэл их амар болно. Өргөтгөх, зөөхөд амар, найдвартай байдлыг өндөржүүлэх боломж гээд давуу талуудыг дээр дурдсан. Виртуалчлал ашиглаж хэрхэн вэб сайт босгох тухай энд нэг заавар байна, сонирхож байвал ороод үзээрэй.

За ингээд эцэст нь хүсэхэд дээрх виртуалчлалын технологиудаас ашиглаж байсан бол туршалагаасаа хуваалцана гэдэгт найдаж байна. Надад бол энэ талаарх мэдлэг туршлага сонсоход маш сонин байх болно, бусад хөгжүүлэгчдэд ч мөн сонирхолтой байх болов уу. Хамтдаа урагшилцгаая.

Линукс виртуалчлалтай холбоотой бичлэгүүд: