kvm ვირტუალური მანქანის კონფიგურაცია ლინუქსზე. რეზინის ჰიპერვიზორი

Ubuntu-ზე რეკომენდებულია KVM ჰიპერვიზორის (ვირტუალური მანქანის მენეჯერი) და libvirt-ის გამოყენება, როგორც მისი მართვის ინსტრუმენტაცია. Libvirt მოიცავს პროგრამული API-ების კომპლექტს და მორგებული ვირტუალური მანქანების (VM) მართვის აპლიკაციებს virt-manager (გრაფიკული ინტერფეისი, GUI) ან virsh (ბრძანების ხაზი, CLI). თქვენ შეგიძლიათ გამოიყენოთ convirt (GUI) ან convirt2 (WEB ინტერფეისი), როგორც ალტერნატიული მენეჯერები.

ამჟამად, მხოლოდ KVM ჰიპერვიზორი არის ოფიციალურად მხარდაჭერილი Ubuntu-ზე. ეს ჰიპერვიზორი არის Linux ოპერაციული სისტემის ბირთვის კოდის ნაწილი. Xen-ისგან განსხვავებით, KVM არ უჭერს მხარს პარავირტუალიზაციას, რაც ნიშნავს, რომ მის გამოსაყენებლად, თქვენს CPU-მ უნდა უზრუნველყოს VT ტექნოლოგიების მხარდაჭერა. თქვენ შეგიძლიათ შეამოწმოთ თქვენი პროცესორი მხარს უჭერს თუ არა ამ ტექნოლოგიას ტერმინალში ბრძანების გაშვებით:

თუ თქვენ მიიღებთ შეტყობინებას შედეგად:

ინფორმაცია: / dev / kvm არსებობს KVM აჩქარების გამოყენება შესაძლებელია

მაშინ KVM იმუშავებს უპრობლემოდ.

თუ გამომავალზე მიიღებთ შეტყობინებას:

თქვენი პროცესორი არ უჭერს მხარს KVM გაფართოებებს KVM აჩქარების გამოყენება შეუძლებელია

მაშინ მაინც შეგიძლიათ გამოიყენოთ ვირტუალური მანქანა, მაგრამ ეს ბევრად ნელი იქნება.

    დააინსტალირეთ 64-ბიტიანი სისტემები, როგორც სტუმრები

    გამოყავით 2 გბ-ზე მეტი ოპერატიული მეხსიერება სტუმრის სისტემებზე

ინსტალაცია

Sudo apt-get დააინსტალირე qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

ეს არის ინსტალაცია სერვერზე Xs-ის გარეშე, ანუ არ შეიცავს გრაფიკულ ინტერფეისს. შეგიძლიათ დააინსტალიროთ ბრძანებით

Sudo apt-get install virt-manager

ამის შემდეგ გამოჩნდება მენიუს პუნქტი "ვირტუალური მანქანების მენეჯერი" და, დიდი ალბათობით, ყველაფერი იმუშავებს. თუ რაიმე პრობლემა წარმოიქმნება, მაშინ თქვენ უნდა წაიკითხოთ ინსტრუქციები ინგლისურენოვან ვიკიში.

სტუმრების სისტემის შექმნა

გრაფიკული ინტერფეისის გამოყენებით სტუმრების სისტემის შექმნის პროცედურა საკმაოდ მარტივია.

მაგრამ ტექსტის რეჟიმის აღწერა შესაძლებელია.

qcow2

გრაფიკული ინტერფეისის გამოყენებით სისტემის შექმნისას შემოთავაზებულია ან შეარჩიოთ არსებული სურათის ფაილი ან დაბლოკოთ მოწყობილობა მყარ დისკად, ან შექმნათ ახალი ფაილი ნედლეული (RAW) მონაცემებით. თუმცა, ეს შორს არის ფაილის ერთადერთი ხელმისაწვდომი ფორმატისაგან. man qemu-img-ში ჩამოთვლილი ყველა დისკის ტიპებიდან, qcow2 არის ყველაზე მოქნილი და თანამედროვე. იგი მხარს უჭერს სნეპშოტებს, დაშიფვრას და შეკუმშვას. ის უნდა შეიქმნას ახალი სტუმრების სისტემის შექმნამდე.

Qemu-img შექმნა -o წინასწარ განაწილება = მეტამონაცემები -f qcow2 qcow2.img 20G

იგივე კაცის qemu-img-ის თანახმად, მეტამონაცემების წინასწარი განაწილება (-o preallocation = მეტამონაცემები) თავდაპირველად დისკს ოდნავ უფრო დიდს ხდის, მაგრამ უზრუნველყოფს უკეთეს შესრულებას, როდესაც გამოსახულება უნდა გაიზარდოს. სინამდვილეში, ამ შემთხვევაში, ეს ვარიანტი თავიდან აიცილებს უსიამოვნო შეცდომას. შექმნილი სურათი თავდაპირველად იკავებს ერთ მეგაბაიტზე ნაკლებ ადგილს და საჭიროებისამებრ იზრდება მითითებულ ზომამდე. სტუმრის სისტემამ დაუყოვნებლივ უნდა ნახოს ეს საბოლოო განსაზღვრული ზომა, თუმცა ინსტალაციის დროს მას შეუძლია დაინახოს ფაილის რეალური ზომა. ბუნებრივია, ის უარს იტყვის 200 კბ მყარ დისკზე დაყენებაზე. შეცდომა არ არის სპეციფიკური Ubuntu-სთვის, ის ჩანს RHEL-ში, ყოველ შემთხვევაში.

სურათის ტიპის გარდა, მოგვიანებით შეგიძლიათ აირჩიოთ მისი დამონტაჟება - IDE, SCSI ან Virtio Disk. ამ არჩევანზე იქნება დამოკიდებული დისკის ქვესისტემის მუშაობა. არ არსებობს ცალსახად სწორი პასუხი, თქვენ უნდა აირჩიოთ დავალების მიხედვით, რომელიც დაევალება სტუმრების სისტემას. თუ სტუმართა სისტემა შეიქმნა "სანახავად", მაშინ ნებისმიერი მეთოდი გამოდგება. ზოგადად, როგორც წესი, ეს არის I/O, რომელიც არის ვირტუალური მანქანის ბოსტნეულობა, ამიტომ, მაღალი დატვირთული სისტემის შექმნისას, ეს საკითხი მაქსიმალურად პასუხისმგებლობით უნდა იქნას მიღებული.

KVM (ბირთვზე დაფუძნებული ვირტუალური მანქანა) არის უფასო და ღია კოდის ვირტუალიზაციის პროგრამა. თქვენ შეგიძლიათ შექმნათ მრავალი ვირტუალური მანქანა (VM), თითოეულ ვირტუალურ მანქანას აქვს საკუთარი ვირტუალური აპარატურა, როგორიცაა დისკი, პროცესორი, ოპერატიული მეხსიერება და ა.შ. ის შედიოდა Linux-ის ბირთვის უმეტესობაში ბირთვის 2.6.20 ვერსიაში.

თუ თქვენ ეძებთ ალტერნატივას ვირტუალური ყუთიჩვენ გირჩევთ გამოიყენოთ KVM. ჩვენ ასევე პირადად ვიყენებთ ამ გასაოცარ ვირტუალიზაციის პროგრამას.

KVM Ubuntu 17.04-ის ინსტალაცია

KVM-ის დასაყენებლად, თქვენ უნდა გქონდეთ შემდეგი წინასწარ პარამეტრები.

  1. ჩართეთ ვირტუალიზაცია სისტემის BIOS-ში.
  2. შეამოწმეთ სისტემის CPU, თუ ის მხარს უჭერს ვირტუალიზაციას. გაუშვით ქვემოთ მოცემული ბრძანება.

egrep - c '(vmx | svm)' / proc / cpuinfo

როდესაც ზემოაღნიშნული ბრძანებიდან გამოსავალს მიიღებთ 1 ან მეტი, ეს ნიშნავს, რომ პროცესორი მხარს უჭერს ვირტუალიზაციას, წინააღმდეგ შემთხვევაში 0 ან ნაკლები ნიშნავს, რომ არა.

3. შეამოწმეთ არქიტექტურა უბუნტუ 16.04 LTS ერთი ბრძანების შესრულებით ე.ი

X86_64 არის 64-ბიტიანი ბირთვი.
i386, i486, i586 ან i686 არის 32-ბიტიანი ბირთვი.

32-ბიტიანი ოპერაციული სისტემა შემოიფარგლება მაქსიმუმ 2 GB ოპერატიული მეხსიერებით მოცემული ვირტუალური აპარატისთვის.
32-ბიტიანი ბირთვი მასპინძლობს მხოლოდ 32-ბიტიან სტუმრის ბირთვს, ხოლო 64-ბიტიან ბირთვს შეიძლება ჰქონდეს როგორც 32-ბიტიანი, ასევე 64-ბიტიანი O.S.

მიჰყევით ნაბიჯებს, რათა დააინსტალიროთ KVM Ubuntu-ზე

ამ განყოფილებაში ჩვენ ჩამოვწერთ KVM-ის დაყენების ნაბიჯებს. ჩვენს წინა პოსტში ვისწავლეთ. თქვენც შეიძლება დაგაინტერესოთ ეს.

1. KVM Ubuntu 17.04 და სხვა დამოკიდებული პაკეტების ინსტალაცია

Ubuntu 17.04 LTS-ზე შეგიძლიათ გამოიყენოთ ბრძანება აპან apt-მიიღე ორივე. არ იქნება განსხვავება apt ან apt-get ბრძანებით დაინსტალირებულ პაკეტებში, ასე რომ თქვენ კარგად ხართ აქ.

sudo apt განახლება

sudo apt install qemu - kvm libvirt - bin bridge - utils

2. შეიტყვეთ KVM პროგრამული უზრუნველყოფის ახალი მომხმარებლებისა და ჯგუფის შესახებ

პაკეტების დაყენების შემდეგ, გარკვეული დამატებები მოხდება მომხმარებელთა და ჯგუფებში.

(A) იქმნება ორი მომხმარებელი.
- libvirt-qemu
- libvirt-dnsmasq

[ელფოსტა დაცულია]: ~ $ კუდი - 2 / etc / passwd

libvirt - qemu: x: 64055: 129: Libvirt Qemu,: / var / lib / libvirt: / bin / false

libvirt - dnsmasq: x: 121: 130: Libvirt Dnsmasq,: / var / lib / libvirt / dnsmasq: / bin / false

[ელფოსტა დაცულია] :~ $

ბ) შეიქმნება ორი ჯგუფი.

- კვმ
- ლიბვირტდ

[ელფოსტა დაცულია]: ~ $ კუდი - 2 / ა.შ. / ჯგუფი

კვმ: x: 129:

libvirtd: x: 130: sharad

[ელფოსტა დაცულია] :~ $

ალბათ შეგიმჩნევიათ, რომ გამოყენებული ეგრეთ წოდებული "charade" არის "libvirtd" ჯგუფის წევრი. ეს ნიშნავს, რომ ამ მომხმარებელს შეუძლია გამოიყენოს KVM.

3. შეამოწმეთ თქვენი KVM ინსტალაცია

თქვენი KVM ინსტალაციის შემოწმება საკმაოდ მარტივია. გაუშვით ბრძანება -

virsh - c qemu: /// სისტემის სია

პირველად გამოჩნდება შეცდომა.

შეცდომა: ჰიპერვიზორთან დაკავშირება ვერ მოხერხდა

შეცდომა: სოკეტთან დაკავშირება ვერ მოხერხდა '/ Var / Run / libvirt / libvirt-sock': Წვდომა აკრძალულია

[ელფოსტა დაცულია] :~ $

ამ პრობლემის გადასაჭრელად, თქვენ უნდა გამოხვიდეთ და ისევ შეხვიდეთ თქვენი დესკტოპიდან. მიუთითებს, რომ მიმდინარე მომხმარებელი ხელახლა უნდა შევიდეს.

შესვლის შემდეგ ხელახლა გაუშვით ბრძანება. ამჯერად, თქვენ უნდა მიიღოთ შედეგი, როგორც ეს ნაჩვენებია ქვემოთ. ის ცარიელია, რადგან ვირტუალური მანქანა არ იქმნება.

[ელფოსტა დაცულია]: ~ $ virsh - c qemu: /// სისტემის სია

ID სახელი სახელმწიფო

—————————————————-

[ელფოსტა დაცულია] :~ $

4. დააინსტალირეთ ვირტუალური აპარატის მენეჯერი

აქ ჩვენ ვიყენებთ ვირტუალური მანქანების მენეჯერს, რომელიც არის დესკტოპის აპლიკაცია KVM ვირტუალური მანქანების მართვისთვის libvirt-ის საშუალებით.

გაუშვით ეს ბრძანება ვირტუალური მანქანების მენეჯერის დასაყენებლად.

sudo apt install virt - მენეჯერი

თქვენ შეგიძლიათ გახსნათ ვირტუალური მანქანების მენეჯერი Dash Home-ში შეყვანით, დააწკაპუნეთ ხატულაზე, ის გაიხსნება აპლიკაციას.

ვირტუალური მანქანების მენეჯერის გასახსნელად ბრძანების ხაზის მეშვეობით, აკრიფეთ -

ვირტ - მენეჯერი

ადრე, როდესაც ჩვენ დავაინსტალირეთ KVM Ubuntu 14.04 LTS Desktop-ზე, პირველი ვირტუალური მანქანის შექმნისას შეგვექმნა პრობლემა, მაგრამ ეს ძალიან მარტივად მოვაგვარეთ. Ubuntu 16.04 LTS Desktop-ში ჩვენ ვერ ვიპოვეთ ასეთი პრობლემა.

თუ თქვენ გაქვთ რაიმე შეკითხვები თემაზე "KVM Ubuntu 17.04-ის დაყენება" - მოგვწერეთ კომენტარების ფორმაში. ჩვენ დაგეხმარებით თქვენი კითხვის უფრო სწრაფად დალაგებაში.

თუ შეცდომას აღმოაჩენთ, გთხოვთ, აირჩიოთ ტექსტის ნაწილი და დააჭიროთ Ctrl + Enter.

sysadmin-ის ცხოვრებაში, ერთ დღეს დგება მომენტი, როდესაც თქვენ უნდა განათავსოთ საწარმოს ინფრასტრუქტურა ნულიდან ან ხელახლა გააკეთოთ არსებული, რომელიც მემკვიდრეობით არის მიღებული. ამ სტატიაში ვისაუბრებ იმაზე, თუ როგორ სწორად განვათავსოთ ჰიპერვიზორი Linux KVM-ზე და libvirt-ზე LVM (ლოგიკური ჯგუფის) მხარდაჭერით.

ჩვენ განვიხილავთ ჰიპერვიზორის მენეჯმენტის ყველა სირთულეს, მათ შორის კონსოლისა და GUI-ს, რესურსების გაფართოებას და ვირტუალური მანქანების სხვა ჰიპერვიზორზე მიგრაციას.

პირველი, მოდით გაერკვნენ, რა არის ვირტუალიზაცია. ოფიციალური განმარტება ასეთია: „ვირტუალიზაცია არის გამოთვლითი რესურსების ერთობლიობის უზრუნველყოფა ან მათი ლოგიკური ასოციაცია, აბსტრაქტული ტექნიკის დანერგვისგან და ერთ ფიზიკურ რესურსზე გაშვებული გამოთვლითი პროცესების ერთმანეთისგან ლოგიკური იზოლაციის უზრუნველყოფისას“. ანუ, ადამიანური თვალსაზრისით, ერთი მძლავრი სერვერის ქონა შეგვიძლია რამდენიმე საშუალო სერვერად ვაქციოთ და თითოეული მათგანი შეასრულებს მისთვის დაკისრებულ დავალებას ინფრასტრუქტურაში, სხვებთან ჩარევის გარეშე.

სისტემის ადმინისტრატორები, რომლებიც მჭიდროდ მუშაობენ ვირტუალიზაციასთან საწარმოში, თავიანთი ხელობის ოსტატები და ვირტუოზები, დაყოფილია ორ ბანაკად. ზოგი მაღალტექნოლოგიური, მაგრამ ძალიან ძვირი VMware-ის მიმდევარია Windows-ისთვის. სხვები არიან ღია კოდის და უფასო გადაწყვეტილებების მოყვარულები Linux VM-ზე დაფუძნებული. VMware-ის უპირატესობების ჩამოთვლას შეიძლება დიდი დრო დასჭირდეს, მაგრამ აქ ყურადღებას გავამახვილებთ Linux VM-ზე დაფუძნებულ ვირტუალიზაციაზე.

ვირტუალიზაციის ტექნოლოგიები და ტექნიკის მოთხოვნები

ახლა ორი პოპულარული ვირტუალიზაციის ტექნოლოგიაა: Intel VT და AMD-V. Intel VT (Intel Virtualization Technology-დან) ახორციელებს რეალური მისამართის რეჟიმის ვირტუალიზაციას; შესაბამისი ტექნიკის I/O ვირტუალიზაცია ეწოდება VT-d. ამ ტექნოლოგიას ხშირად მოიხსენიებენ, როგორც VMX (ვირტუალური მანქანის გაფართოება). AMD-მ შექმნა მათი ვირტუალიზაციის გაფართოებები და თავდაპირველად უწოდა მათ AMD Secure Virtual Machine (SVM). როდესაც ტექნოლოგია გამოჩნდა ბაზარზე, იგი ცნობილი გახდა, როგორც AMD Virtualization (შემოკლებით AMD-V).

ტექნიკის ექსპლუატაციაში ჩართვამდე, დარწმუნდით, რომ მოწყობილობა მხარს უჭერს ამ ორიდან ერთ-ერთ ტექნოლოგიას (თქვენ შეგიძლიათ იხილოთ სპეციფიკაციები მწარმოებლის ვებსაიტზე). თუ ვირტუალიზაციის მხარდაჭერა ხელმისაწვდომია, ის უნდა იყოს ჩართული BIOS-ში ჰიპერვიზორის დაყენებამდე.

ჰიპერვიზორის სხვა მოთხოვნები მოიცავს აპარატურის RAID (1, 5, 10) მხარდაჭერას, რომელიც ზრდის ჰიპერვიზორის შეცდომის ტოლერანტობას მყარი დისკის გაუმართაობის შემთხვევაში. თუ არ არის ტექნიკის RAID-ის მხარდაჭერა, მაშინ შეგიძლიათ გამოიყენოთ პროგრამული უზრუნველყოფა, როგორც ბოლო საშუალება. მაგრამ RAID აუცილებელია!

ამ სტატიაში აღწერილი გადაწყვეტა შეიცავს სამ ვირტუალურ მანქანას და წარმატებით მუშაობს მინიმალური მოთხოვნებით: Core 2 Quad Q6600 / 8 GB DDR2 PC6400 / 2 × 250 GB SATA HDD (hardware RAID 1).

ჰიპერვიზორის ინსტალაცია და კონფიგურაცია

მე გაჩვენებთ, თუ როგორ უნდა დააკონფიგურიროთ ჰიპერვიზორი Debian Linux 9.6.0 - X64-86, როგორც მაგალითი. თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი Linux დისტრიბუცია, რომელიც მოგწონთ.

როდესაც გადაწყვეტთ რკინის არჩევანს და ის საბოლოოდ ჩამოვა, დროა დააინსტალიროთ ჰიპერვიზორი. OS-ის დაყენებისას ჩვენ ყველაფერს ვაკეთებთ ჩვეულებისამებრ, გარდა დისკების დაყოფისა. გამოუცდელი ადმინისტრატორები ხშირად ირჩევენ ოფციას "ავტომატური დაყოფა მთელი დისკის სივრცის გარეშე LVM-ის გამოყენების გარეშე". შემდეგ ყველა მონაცემი ჩაიწერება ერთ ტომში, რაც არ არის კარგი რამდენიმე მიზეზის გამო. პირველი, თუ მყარი დისკი მარცხდება, თქვენ დაკარგავთ ყველა მონაცემს. მეორეც, ფაილური სისტემის შეცვლა დიდი სირთულე იქნება.

ზოგადად, ზედმეტი ჟესტებისა და დროის დაკარგვის თავიდან ასაცილებლად, გირჩევთ გამოიყენოთ დისკის დანაყოფი LVM-ით.

ლოგიკური მოცულობის მენეჯერი

ლოგიკური მოცულობის მენეჯერი (LVM) არის ქვესისტემა, რომელიც ხელმისაწვდომია Linux-სა და OS / 2-ზე, რომელიც აგებულია Device Mapper-ის თავზე. მისი მიზანია წარმოადგინოს სხვადასხვა არეები ერთი მყარი დისკიდან ან არეები მრავალი მყარი დისკიდან, როგორც ერთი ლოგიკური მოცულობა. LVM ქმნის ლოგიკური მოცულობის ჯგუფს (VG - Volumes Group) ფიზიკური ტომებიდან (PV - Phisical Volumes). ის, თავის მხრივ, შედგება ლოგიკური ტომებისგან (LV - Logical Volume).

Linux-ის ყველა დისტრიბუციას ბირთვით 2.6 და უფრო მაღალი აქვს ახლა LVM2 მხარდაჭერა. იმისათვის, რომ გამოიყენოთ LVM2 OS-ზე 2.4 ბირთვით, თქვენ უნდა დააინსტალიროთ პატჩი.

მას შემდეგ, რაც სისტემა აღმოაჩენს მყარ დისკებს, დაიწყება მყარი დისკის დანაყოფის მენეჯერი. აირჩიეთ ელემენტი Guided - გამოიყენეთ მთელი დისკი და დააყენეთ LVM.


ახლა ჩვენ ვირჩევთ დისკს, რომელზეც დაინსტალირებული იქნება ჩვენი მოცულობის ჯგუფი.



სისტემა შემოგთავაზებთ მედიის მარკირების ვარიანტებს. აირჩიეთ "ყველა ფაილის ჩაწერა ერთ განყოფილებაში" და გადადით.




ცვლილებების შენახვის შემდეგ ვიღებთ ერთ ლოგიკურ ჯგუფს და მასში ორ ტომს. პირველი არის root დანაყოფი და მეორე არის swap ფაილი. აქ ბევრი დასვამს კითხვას: რატომ არ უნდა აირჩიოთ განლაგება ხელით და თავად შექმნათ LVM?

ჩემი პასუხი მარტივია: VG ლოგიკური ჯგუფის შექმნისას ჩატვირთვის დანაყოფი არ იწერება VG-ზე, არამედ იქმნება როგორც ცალკე დანაყოფი ext2 ფაილური სისტემით. თუ ეს არ არის გათვალისწინებული, ჩატვირთვის მოცულობა იქნება ლოგიკურ ჯგუფში. ეს გაწირავთ ტანჯვისა და ტანჯვისთვის ჩექმის მოცულობის აღდგენისას. სწორედ ამიტომ ჩატვირთვის დანაყოფი იგზავნება არა LVM ტომზე.



მოდით გადავიდეთ ჰიპერვიზორის ლოგიკური ჯგუფის კონფიგურაციაზე. ჩვენ ვირჩევთ პუნქტს "ლოგიკური ტომების მენეჯერის კონფიგურაცია".



სისტემა აცნობებს, რომ ყველა ცვლილება ჩაიწერება დისკზე. Ჩვენ ვეთანხმებით.



შევქმნათ ახალი ჯგუფი - მაგალითად, დავარქვით მას vg_sata.



ინფორმაცია

სერვერები იყენებენ SATA, SSD, SAS, SCSI, NVMe მედიას. კარგი პრაქტიკაა, რომ ლოგიკური ჯგუფის შექმნისას მიუთითოთ არა ჰოსტის სახელი, არამედ ჯგუფში გამოყენებული მედიის ტიპი. გირჩევთ დაასახელოთ ლოგიკური ჯგუფი ასე: vg_sata, vg_ssd, vg_nvme და ა.შ. ეს დაგეხმარებათ გაიგოთ, რა მედიისგან არის აგებული ლოგიკური ჯგუფი.




ჩვენ ვქმნით ჩვენს პირველ ლოგიკურ ტომს. ეს იქნება ოპერაციული სისტემის root დანაყოფის მოცულობა. ჩვენ ვირჩევთ პუნქტს "ლოგიკური მოცულობის შექმნა".



აირჩიეთ ჯგუფი ახალი ლოგიკური ტომისთვის. ჩვენ მხოლოდ ერთი გვაქვს.



ლოგიკურ მოცულობას სახელის მინიჭება. სახელის მინიჭების ყველაზე სწორი გზა არის პრეფიქსის გამოყენება ჯგუფის ლოგიკური სახელის სახით - მაგალითად, vg_sata_root, vg_ssd_root და ა.შ.



ჩვენ აღვნიშნავთ მოცულობას ახალი ლოგიკური მოცულობისთვის. გირჩევთ, გამოყოთ 10 GB root-ისთვის, მაგრამ ნაკლები შეიძლება იყოს, რადგან ლოგიკური მოცულობა ყოველთვის შეიძლება გაფართოვდეს.



ზემოთ მოყვანილი მაგალითის ანალოგიით, შექმენით შემდეგი ლოგიკური ტომები:

  • vg_sata_home - 20 GB მომხმარებლის დირექტორიებისთვის;
  • vg_sata_opt - 10 გბ აპლიკაციის პროგრამული უზრუნველყოფის ინსტალაციისთვის;
  • vg_sata_var - 10 GB მონაცემების ხშირად შეცვლისთვის, მაგალითად, სისტემის ჟურნალები და სხვა პროგრამები;
  • vg_sata_tmp - 5 GB დროებითი მონაცემებისთვის, თუ დროებითი მონაცემების რაოდენობა დიდია, შეგიძლიათ მეტი გააკეთოთ. ჩვენს მაგალითში, ეს განყოფილება არ შეიქმნა, როგორც არასაჭირო;
  • vg_sata_swap - უდრის RAM-ის რაოდენობას. ეს არის swap განყოფილება და ჩვენ ვქმნით მას უსაფრთხოების მიზეზების გამო - იმ შემთხვევაში, თუ ჰიპერვიზორს ამოიწურება ოპერატიული მეხსიერება.

ყველა ტომის შექმნის შემდეგ გამოდით მენეჯერიდან.



ახლა ჩვენ გვაქვს რამდენიმე ტომი ოპერაციული სისტემის დანაყოფების შესაქმნელად. როგორც თქვენ ალბათ მიხვდებით, თითოეულ დანაყოფს აქვს საკუთარი ლოგიკური მოცულობა.



შექმენით ამავე სახელწოდების დანაყოფი თითოეული ლოგიკური ტომისთვის.



ჩვენ ვინახავთ და ვაფიქსირებთ განხორციელებულ ცვლილებებს.



დისკის განლაგების ცვლილებების შენახვის შემდეგ, დაინსტალირდება სისტემის ძირითადი კომპონენტები, შემდეგ კი მოგეთხოვებათ აირჩიოთ და დააინსტალიროთ სისტემის დამატებითი კომპონენტები. ყველა კომპონენტიდან ჩვენ გვჭირდება ssh-სერვერი და სტანდარტული სისტემის კომუნალური საშუალებები.



ინსტალაციის შემდეგ, GRUB ჩამტვირთავი გენერირებული იქნება და ჩაიწერება დისკზე. დააინსტალირეთ ის ფიზიკურ დისკზე, სადაც შენახულია ჩატვირთვის დანაყოფი, ანუ / dev / sda.




ახლა ველოდებით ჩამტვირთველს დისკზე ჩაწერის დასრულებას და შეტყობინების შემდეგ გადავტვირთავთ ჰიპერვიზორს.





სისტემის გადატვირთვის შემდეგ გადადით ჰიპერვიზორთან SSH-ის საშუალებით. უპირველეს ყოვლისა, root-ის ქვეშ ვაყენებთ სამუშაოსთვის აუცილებელ კომუნალურ პროგრამებს.

$ sudo apt-get install -y sudo htop ეკრანის net-tools dnsutils bind9utils sysstat telnet traceroute tcpdump wget curl gcc rsync

ჩვენ ვაკონფიგურირებთ SSH გემოვნებით. გირჩევთ, დაუყოვნებლივ გააკეთოთ ავტორიზაცია გასაღებებით. ჩვენ გადატვირთავთ და ვამოწმებთ სერვისუნარიანობას.

$ sudo nano / etc / ssh / sshd_config $ sudo systemctl გადატვირთეთ sshd; sudo systemctl სტატუსი sshd

ვირტუალიზაციის პროგრამული უზრუნველყოფის ინსტალაციამდე, თქვენ უნდა შეამოწმოთ ფიზიკური მოცულობები და ლოგიკური ჯგუფის მდგომარეობა.

$ sudo pvscan $ sudo lvs

დააინსტალირეთ ვირტუალიზაციის კომპონენტები და კომუნალური პროგრამები ქსელის ხიდის შესაქმნელად ჰიპერვიზორის ინტერფეისზე.

$ sudo apt-get განახლება; apt-get განახლება -y $ sudo apt install qemu-kvm libvirt-bin libvirt-dev libvirt-daemon-system libvirt-კლიენტები virtinst bridge-utils

ინსტალაციის შემდეგ, ჩვენ ვაკონფიგურირებთ ქსელის ხიდს ჰიპერვიზორზე. კომენტარი გააკეთეთ ქსელის ინტერფეისის პარამეტრებზე და დააყენეთ ახლები:

$ sudo nano / etc / ქსელი / ინტერფეისები

შინაარსი დაახლოებით ასეთი იქნება:

ავტომატური br0 iface br0 inet სტატიკური მისამართი 192.168.1.61 ქსელის ნიღაბი 255.255.255.192 კარიბჭე 192.168.1.1 მაუწყებლობა 192.168.0.61 dns-nameserver 127.0.0.0_1 dridgetpridgesport0.

დაამატეთ ჩვენი მომხმარებელი, რომლის ფარგლებშიც ჰიპერვიზორთან ვიმუშავებთ, libvirt და kvm ჯგუფებს (RHEL-ისთვის ჯგუფს ეწოდება qemu).

$ sudo gpasswd -a iryzhevtsev kvm $ sudo gpasswd -a iryzhevtsev libvirt

ახლა ჩვენ უნდა მოვახდინოთ ჩვენი ლოგიკური ჯგუფის ინიციალიზაცია, რომ ვიმუშაოთ ჰიპერვიზორთან, გავუშვათ და დავამატოთ გაშვებაში სისტემის გაშვებისას.

$ sudo virsh pool-list $ sudo virsh pool-define-as vg_sata ლოგიკური --target / dev / vg_sata $ sudo virsh pool-start vg_sata; sudo virsh pool-autostart vg_sata $ sudo virsh pool-list

ინფორმაცია

იმისათვის, რომ LVM ჯგუფმა სწორად იმუშაოს QEMU-KVM-თან, ჯერ უნდა გაააქტიუროთ ლოგიკური ჯგუფი virsh კონსოლის მეშვეობით.

ახლა გადმოვწერთ სადისტრიბუციო კომპლექტს სტუმრის სისტემებზე ინსტალაციისთვის და ვდებთ სასურველ საქაღალდეში.

$ sudo wget https://mirror.yandex.ru/debian-cd/9.5.0/amd64/iso-cd/debian-9.5.0-amd64-netinst.iso $ sudo mv debian-9.5.0-amd64-netinst .iso / var / lib / libvirt / images /; ls -al / var / lib / libvirt / images /

ვირტუალურ მანქანებთან VNC-ის საშუალებით დასაკავშირებლად, შეცვალეთ ფაილი /etc/libvirt/libvirtd.conf:

$ sudo grep "listen_addr =" /etc/libvirt/libvirtd.conf

მოდით გავაუქმოთ კომენტარი და შევცვალოთ ხაზი listen_addr = "0.0.0.0". შეინახეთ ფაილი, გადატვირთეთ ჰიპერვიზორი და შეამოწმეთ, მუშაობს თუ არა ყველა სერვისი.

გაგრძელება ხელმისაწვდომია მხოლოდ მონაწილეებისთვის

ვარიანტი 1. გაწევრიანდით "საიტის" საზოგადოებაში, რათა წაიკითხოთ საიტზე არსებული ყველა მასალა

საზოგადოებაში გაწევრიანება მითითებულ პერიოდში გაგიხსნით წვდომას ჰაკერების ყველა მასალაზე, გაზრდის თქვენს პერსონალურ კუმულატიურ ფასდაკლებას და საშუალებას მოგცემთ დააგროვოთ პროფესიონალური Xakep Score!

სერვერის მომზადება

პროცესორის მხარდაჭერის შემოწმება:

cat / proc / cpuinfo | egrep "(vmx | svm)"

თუ ბრძანება არაფერს აბრუნებს, სერვერზე ვირტუალიზაციის მხარდაჭერა არ არის ან ის გამორთულია BIOS-ის პარამეტრებში. თქვენ შეგიძლიათ განათავსოთ KVM ასეთ სერვერზე, მაგრამ როდესაც ვცდილობთ შევიტანოთ ბრძანება ჰიპერვიზორის კონტროლისთვის, მივიღებთ შეცდომას "WARNING KVM acceleration მიუწვდომელია, გამოყენებით" qemu ". ამ შემთხვევაში, თქვენ უნდა გადატვირთოთ სერვერი, შეიყვანოთ BIOS, იპოვოთ ვირტუალიზაციის ტექნოლოგიის მხარდაჭერა (Intel VT ან AMD-V) და ჩართოთ იგი.

მოდით შევქმნათ დირექტორიები, რომლებშიც შევინახავთ ვირტუალიზაციასთან დაკავშირებულ ყველაფერს (ნაგულისხმევად შემოთავაზებული არ არის მოსახერხებელი):

mkdir -p / kvm / (სურათები, iso)

* კატალოგი / კვმ / სურათებივირტუალური დისკებისთვის; / კვმ / iso- iso სურათებისთვის.

ინსტალაცია და გაშვება

ინსტალაცია ხორციელდება საცავიდან შემდეგი ბრძანებით:

yum install qemu-kvm libvirt virt-install

* სად ქემუ-კვმ- თავად ჰიპერვიზორი; libvirt- ვირტუალიზაციის მართვის ბიბლიოთეკა; ვირტ-ინსტალაცია- პროგრამა ვირტუალური მანქანების მართვისთვის.

ავტორიზაციის დაშვება:

systemctl ჩართეთ libvirtd

გაუშვით KVM:

systemctl დაწყება libvirtd

ქსელის კონფიგურაცია

ამ სახელმძღვანელოში განვიხილავთ ქსელის ხიდის გამოყენებას.

ქსელის ხიდის კონფიგურაციისას dial-up კავშირის საშუალებით, ყურადღებით შეამოწმეთ შეყვანის მონაცემები. თუ შეცდომა მოხდა, კავშირი შეწყდება.

დააინსტალირეთ პაკეტი ხიდთან მუშაობისთვის:

yum install bridge-utils

ჩვენ ვუყურებთ ქსელის ინტერფეისების ჩამონათვალს და მათ პარამეტრებს:

ჩემს მაგალითს შემდეგი მონაცემები ჰქონდა:

1: აი: mtu 65536 qdisc noqueue status UNKNOWN qlen 1
ბმული / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00
inet 127.0.0.1/8 scope host lo

inet6 :: 1/128 დიაპაზონის ჰოსტი
valid_lft სამუდამოდ სასურველია_lft სამუდამოდ
2: enp4s0f0: mtu 1500 qdisc pfifo_fast state UP qlen 1000

inet 192.168.1.24/24 brd 192.168.1.255 ფარგლები გლობალური enp4s0f0
valid_lft სამუდამოდ სასურველია_lft სამუდამოდ

valid_lft სამუდამოდ სასურველია_lft სამუდამოდ
3: enp5s5:

4: virbr0:


valid_lft სამუდამოდ სასურველია_lft სამუდამოდ
5: virbr0-nic:
ბმული / ეთერი 52: 54: 00: cd: 86: 98 brd ff: ff: ff: ff: ff: ff

* ეს ჩვენთვის მნიშვნელოვანია enp4s0f0- რეალური ქსელის ინტერფეისი კონფიგურირებული IP მისამართით 192.168.1.24 რომლის მეშვეობითაც სერვერი უკავშირდება ლოკალურ ქსელს (მისგან ხიდი გავაკეთებთ); 00: 16: 76: 04: 26: c6- რეალური Ethernet ადაპტერის მაკ-მისამართი; virbr0- ვირტუალური ქსელის ადაპტერი.

რეალური ადაპტერის პარამეტრების რედაქტირება:

vi / etc / sysconfig / ქსელის სკრიპტები / ifcfg-enp4s0f0

ჩვენ მივყავართ ფორმაში:

ONBOOT = დიახ
BRIDGE = br0
TYPE = Ethernet
მოწყობილობა = enp4s0f0
BOOTPROTO = არცერთი

მოდით შევქმნათ ინტერფეისი ქსელის ხიდისთვის:

vi / etc / sysconfig / ქსელის სკრიპტები / ifcfg-br0

DEVICE = br0
TYPE = ხიდი
ONBOOT = დიახ
BOOTPROTO = სტატიკური
IPADDR = 192.168.1.24
NETMASK = 255.255.255.0
GATEWAY = 192.168.1.1
DNS1 = 8.8.8.8
DNS2 = 77.88.8.8

გადატვირთეთ ქსელის სერვისი:

systemctl ქსელის გადატვირთვა

ქსელის პარამეტრები უნდა შეიცვალოს - ჩემს შემთხვევაში:

2: enp4s0f0: mtu 1500 qdisc pfifo_fast master br0 state UP qlen 1000
ბმული / ეთერი 00: 16: 76: 04: 26: c6 brd ff: ff: ff: ff: ff: ff
3: enp5s5: mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
ბმული / ეთერი 00: 16: 76: 04: 26: c7 brd ff: ff: ff: ff: ff: ff
4: virbr0: mtu 1500 qdisc noqueue state DOWN qlen 1000
ბმული / ეთერი 52: 54: 00: cd: 86: 98 brd ff: ff: ff: ff: ff: ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft სამუდამოდ სასურველია_lft სამუდამოდ
5: virbr0-nic: mtu 1500 qdisc pfifo_fast master virbr0 მდგომარეობა DOWN qlen 1000
ბმული / ეთერი 52: 54: 00: cd: 86: 98 brd ff: ff: ff: ff: ff: ff
6: br0: mtu 1500 qdisc noqueue state UP qlen 1000
ბმული / ეთერი 00: 16: 76: 04: 26: c6 brd ff: ff: ff: ff: ff: ff
inet 192.168.1.24/24 brd 192.168.1.255 scope გლობალური br0
valid_lft სამუდამოდ სასურველია_lft სამუდამოდ
inet6 fe80 :: 216: 76ff: fe04: 26c6 / 64 სფეროს ბმული
valid_lft სამუდამოდ სასურველია_lft სამუდამოდ

ჩვენ დაჟინებით ვითხოვთ ქსელის ტრაფიკის გადამისამართებას:

vi /etc/sysctl.d/99-sysctl.conf

net.ipv4.ip_forward = 1

გამოიყენეთ პარამეტრები:

sysctl -p /etc/sysctl.d/99-sysctl.conf

გადატვირთეთ libvirtd:

systemctl გადატვირთეთ libvirtd

ვირტუალური მანქანის შექმნა

ჩვენ ვუყურებთ სტუმრის ოპერაციული სისტემების ხელმისაწვდომ ვარიანტებს:

პირველი ვირტუალური მანქანის შესაქმნელად, შეიყვანეთ შემდეგი ბრძანება:

virt-install -n პირველი ტესტი \
--არაავტოკონსოლი \
--ქსელი = ხიდი: br0 \
--ram 1024 --arch = x86_64 \
--vcpus = 1 --cpu ჰოსტი --შემოწმება-cpu \
--დისკის გზა = / კვმ / სურათები / FirstTest-disk1.img, ზომა = 16 \
--cdrom /kvm/iso/CentOS-7-x86_64-Minimal-1611.iso \
--graphics vnc, მოსმენა = 0.0.0.0, პაროლი = my_password \
--os-type linux --os-variant = rhel7 --ჩატვირთვა CD, HD, მენიუ = ჩართული

  • პირველი ტესტი -შემუშავებული აპარატის დასახელება;
  • ნოავტოკონსოლი -შექმნის შემდეგ ის ავტომატურად არ უკავშირდება ვირტუალური მანქანის კონსოლს;
  • ქსელი -ქსელის ტიპი (ჩვენს მაგალითში, ქსელის ხიდი);
  • ვერძი -გამოყოფილი ოპერატიული მეხსიერების რაოდენობა;
  • vcpus -ვირტუალური პროცესორების რაოდენობა;
  • დისკი -ვირტუალური დისკი: გზა - გზა დისკამდე; ზომა - მისი მოცულობა;
  • cdrom -ვირტუალური დისკი სისტემის იმიჯით;
  • გრაფიკა -ვირტუალურ მანქანასთან დაკავშირების პარამეტრები გრაფიკული კონსოლის გამოყენებით (ამ მაგალითში ვიყენებთ vnc); მოსმენა - რომელ მისამართზე იღებს vnc მოთხოვნებს (ჩვენს მაგალითში საერთოდ); პაროლი - პაროლი vnc-ის გამოყენებით დასაკავშირებლად;
  • os-ვარიანტი -სტუმრის ოპერაციული სისტემა (ჩვენ მივიღეთ მთელი სია ბრძანებით osinfo-query os, ამ მაგალითში დააინსტალირეთ Rein Hat 7 / CentOS 7).

დაუშვით ავტომატური გაშვება შექმნილი VM-ისთვის:

virsh ავტომატური დაწყება FirstTest

დაკავშირება ვირტუალურ მანქანასთან

ოპერაციული სისტემის შემდგომი ინსტალაციისთვის, გადმოწერეთ VNC კლიენტი ადმინისტრატორის კომპიუტერში, მაგალითად, TightVNC და დააინსტალირეთ იგი.

სერვერზე ნახეთ, რომელ პორტზე უსმენს შექმნილი აპარატის VNC:

virsh vncdisplay FirstTest

ჩემს შემთხვევაში ეს იყო:

ეს ნიშნავს, რომ თქვენ უნდა დაამატოთ 0 5900-ს. თუ ბრძანების შედეგია: 1 - 5900 + 1 = 5901 და ა.შ.

პორტის გახსნა firewall-ზე:

firewall-cmd -- მუდმივი --add-port = 5900-5905 / tcp

firewall-cmd --გადატვირთვა

* ამ მაგალითში ერთდროულად ემატება 6 tcp პორტი 5900 ადრე 5905 .

ჩვენ გავუშვით დაინსტალირებული TightVNC Viewer, ფანჯარაში, რომელიც იხსნება, შეიყვანეთ KVM სერვერის IP მისამართი და პორტი, რომელზეც ჩვენი VM უსმენს (ამ მაგალითში, 5900):

ბიძგი დაკავშირება... პროგრამა ითხოვს პაროლს - შეიყვანეთ ის, რომელიც მითითებულია VM-ის შექმნისას (ამ მაგალითში, my_password). ჩვენ დავუკავშირდებით ვირტუალურ მანქანას, თითქოს მასზე იყოს დაკავშირებული მონიტორი ან დისტანციური KVM კონსოლი.

ადმინისტრატორი და პაროლი, რომელიც შეიქმნა ბრძანების გაშვებისას ძრავის დაყენება... წარმატებული შესვლის შემდეგ, თქვენ შეგიძლიათ მართოთ ვირტუალური მანქანები ვებ ინტერფეისის საშუალებით.

WordPress 5.3-ის გამოშვება აუმჯობესებს და აფართოებს WordPress 5.0-ში დანერგილ ბლოკის რედაქტორს ახალი ბლოკით, უფრო ინტუიციური ურთიერთქმედებებით და გაუმჯობესებული ხელმისაწვდომობით. ახალი ფუნქციები რედაქტორში [...]

განვითარების ცხრა თვის შემდეგ, ხელმისაწვდომია FFmpeg 4.2 მულტიმედიური პაკეტი, რომელიც მოიცავს აპლიკაციების კომპლექტს და ბიბლიოთეკების კრებულს სხვადასხვა მულტიმედიური ფორმატებზე ოპერაციებისთვის (ჩაწერა, კონვერტაცია და [...]

  • ახალი ფუნქციები Linux Mint 19.2 Cinnamon-ში

    Linux Mint 19.2 არის გრძელვადიანი მხარდაჭერის გამოშვება, რომელიც მხარდაჭერილი იქნება 2023 წლამდე. მას გააჩნია განახლებული პროგრამული უზრუნველყოფა და შეიცავს გაუმჯობესებებს და ბევრ ახალ [...]

  • გამოვიდა Linux Mint 19.2 დისტრიბუცია

    წარმოდგენილია Linux Mint 19.2 სადისტრიბუციო ნაკრების გამოშვება, Linux Mint 19.x ფილიალის მეორე განახლება, ჩამოყალიბებული Ubuntu 18.04 LTS პაკეტის ბაზაზე და მხარდაჭერილი 2023 წლამდე. დისტრიბუცია სრულად თავსებადია [...]

  • ხელმისაწვდომია BIND სერვისის ახალი გამოშვებები, რომლებიც მოიცავს შეცდომების გამოსწორებას და ფუნქციების გაუმჯობესებას. ახალი გამოშვებების ჩამოტვირთვა შესაძლებელია დეველოპერის საიტის ჩამოტვირთვების გვერდიდან: [...]

    Exim არის შეტყობინებების გადაცემის აგენტი (MTA) შემუშავებული კემბრიჯის უნივერსიტეტში ინტერნეტთან დაკავშირებული Unix სისტემებზე გამოსაყენებლად. ის თავისუფლად ხელმისაწვდომია [...]

    თითქმის ორი წლის განვითარების შემდეგ, გამოვიდა ZFS Linux 0.8.0-ზე, ZFS ფაილური სისტემის იმპლემენტაცია, რომელიც შეფუთულია როგორც მოდული Linux-ის ბირთვისთვის. მოდული გამოცდილია Linux-ის ბირთვებით 2.6.32-დან [...]

  • WordPress 5.1.1 აფიქსირებს საიტის კონტროლის დაუცველობას
  • ინტერნეტ ინჟინერიის სამუშაო ჯგუფმა (IETF), რომელიც დაკავებულია ინტერნეტ პროტოკოლებისა და არქიტექტურის შემუშავებით, დაასრულა RFC-ის ფორმირება ავტომატური სერთიფიკატების მართვის გარემოს (ACME) პროტოკოლისთვის [...]

    არაკომერციული სასერთიფიკატო ცენტრი Let’s Encrypt, რომელსაც აკონტროლებს საზოგადოება და უსასყიდლოდ აწვდის ყველას სერტიფიკატებს, შეაჯამა გასული წლის შედეგები და ისაუბრა 2019 წლის გეგმებზე. […]

  • Libreoffice-ის ახალი ვერსია გამოვიდა - Libreoffice 6.2
  • გააზიარე ეს