Açıq
Yaxın

Kvm ubuntu quraşdırma və konfiqurasiya 18.04. Rezin hipervizor. QEMU-KVM-ni Linux-da virtuallaşdırmaq üçün məntiqi qruplardan istifadə edirik. Virtual maşına qoşulur

Bu giriş məqaləsində xidmətin inkişafı prosesində istifadə olunan bütün proqram vasitələrini qısaca təqdim edəcəyəm. Onlar növbəti məqalələrdə daha ətraflı müzakirə olunacaq.

Niyə ? Bu əməliyyat sistemi mənə yaxın və başa düşüləndir, buna görə paylama seçərkən heç bir əzab, əzab və ya atma yox idi. Onun Red Hat Enterprise Linux ilə müqayisədə heç bir xüsusi üstünlüyü yoxdur, lakin tanış sistemlə işləmək qərarına gəlib.

Bənzər texnologiyalardan istifadə edərək müstəqil olaraq bir infrastruktur yerləşdirməyi planlaşdırırsınızsa, sizə RHEL almağı məsləhət görərdim: yaxşı sənədlər və yaxşı yazılmış tətbiq proqramları sayəsində bu, böyüklük sırası olmasa da, şübhəsiz ki, iki dəfə daha sadə olacaq və hazırlanmış sertifikatlaşdırma sistemi sayəsində siz bu ƏS ilə lazımi səviyyədə tanış olan bir sıra mütəxəssisləri asanlıqla tapa bilərsiniz.

Yenə də istifadə etməyə qərar verdik Debian Squeeze-dən paketlər dəsti ilə Sid/Eksperimental və bəzi paketlər bizim yamaqlarımızla əks olunub və tərtib edilib.
Paketləri olan repozitoriyanın nəşri planlaşdırılır.

Virtuallaşdırma texnologiyasını seçərkən iki variant nəzərə alındı ​​- Xen və KVM.

Həm də Xen-ə əsaslanan çox sayda tərtibatçı, hoster və kommersiya həllərinin olması nəzərə alındı ​​- KVM əsasında həlli həyata keçirmək daha maraqlı idi.

KVM-dən istifadə etmək qərarına gəlməyimizin əsas səbəbi virtual maşınları FreeBSD və gələcəkdə MS Windows ilə işlətmək ehtiyacıdır.

Virtual maşınları idarə etmək üçün API istifadə edən məhsullardan istifadə etmək olduqca rahat oldu: virsh, vir menecer, virtual quraşdırma və s.

Bu, virtual maşınların parametrlərini saxlayan, onları idarə edən, onların statistikasını aparan, işə salınarkən virtual maşının interfeysinin yüksəldilməsinə əmin olan, cihazları maşına birləşdirən bir sistemdir - ümumiyyətlə, çox faydalı işlər görür. və bundan bir az daha çox.

Əlbəttə ki, həll yolu mükəmməl deyil. Dezavantajlara aşağıdakılar daxildir:

  • Tamamilə dəli səhv mesajları.
  • QMP (QEMU Monitor Protocol) buna imkan versə də, virtual maşın konfiqurasiyasının bir hissəsini tez dəyişdirmək mümkün deyil.
  • Bəzən naməlum səbəblərdən libvirtd-ə qoşulmaq mümkün olmur - o, xarici hadisələrə cavab verməyi dayandırır.

İlkin mərhələdə xidmətin tətbiqində əsas problem virtual maşınlar üçün resursların məhdudlaşdırılması idi. Xen-də bu problem resursları virtual maşınlar arasında paylayan daxili planlaşdırıcının köməyi ilə həll edildi - və ən yaxşısı odur ki, disk əməliyyatlarını məhdudlaşdırmaq imkanı da həyata keçirildi.

KVM-də nüvə resurslarının bölüşdürülməsi mexanizminin meydana çıxmasına qədər belə bir şey yox idi. Linux-da həmişə olduğu kimi, bu funksiyalara giriş xüsusi fayl sistemi vasitəsilə həyata keçirilirdi qrup, burada normal write() sistem zənglərindən istifadə edərək qrupa proses əlavə etmək, ona tutuquşu çəkisini təyin etmək, onun işləyəcəyi nüvəni təyin etmək, prosesin istifadə edə biləcəyi disk bant genişliyini təyin etmək və ya yenidən , ona çəki təyin edin.

Faydası ondan ibarətdir ki, bütün bunlar nüvənin daxilində həyata keçirilir və ondan yalnız server üçün deyil, həm də iş masası üçün istifadə edilə bilər (məşhur “Möcüzələr yaradan ~200 Line Linux Kernel Patch” də istifadə edilmişdir). Və mənim fikrimcə, bu, 2.6 filialındakı ən əhəmiyyətli dəyişikliklərdən biridir, mənim sevimli # 12309-u saymadan, başqa bir fayl sisteminin təqdim edilməsini deyil. Yaxşı, bəlkə də POHMELFS istisna olmaqla (lakin sırf adına görə).

Bu kommunal kitabxanaya münasibətim çox qeyri-müəyyəndir.

Bir tərəfdən belə görünür:

Həm də bu şeyi mənbədən toplamaq çox çətindir, daha az paketə: bəzən mənə elə gəlir ki, Linux From Scratch sıfırdan qurmaq bir az asandır.

Digər tərəfdən, bu, virtual maşınlar üçün şəkillər yaratmağa, onları dəyişdirməyə, sıxmağa, qrup qurmağa, bölmə cədvəlini dəyişdirməyə, konfiqurasiya fayllarını idarə etməyə, aparat maşınlarını virtual mühitə köçürməyə, virtual maşınları ötürməyə imkan verən çox güclü bir şeydir. bir təsvirdən digərinə virtual maşınları görüntüdən aparata köçürün və düzünü desəm, burada təsəvvürüm məni bir az aşağı salır. Oh, bəli: siz həmçinin Linux virtual maşınının içərisində bir demon işlədə və virtual maşın məlumatlarına canlı daxil ola bilərsiniz və bütün bunları shell, python, perl, java, ocaml-da edə bilərsiniz. Bu, nə edə biləcəyinizin qısa və heç də tam siyahısıdır.

Maraqlıdır ki, kodun çox hissəsi montaj zamanı, eləcə də layihə üçün sənədlər yaradılır. Ocaml və perl geniş istifadə olunur. Kodun özü C-də yazılır, daha sonra OCaml-a bükülür və təkrarlanan kod parçaları özləri yaradılır. Şəkillərlə işləmək xüsusi xidmət şəklini (supermin cihazı) işə salmaqla həyata keçirilir ki, ona kanal vasitəsilə əmrlər göndərilir. Bu xilasetmə təsviri sistem administratoru üçün faydalı olan parted, mkfs və digərləri kimi müəyyən bir kommunal dəsti ehtiva edir.

Bu yaxınlarda mən hətta nandroid görüntüsündən lazım olan məlumatları çıxaranda evdə istifadə etməyə başladım. Lakin bunun üçün yaffs-ə imkan verən kernel lazımdır.

Digər

Aşağıda istifadə olunan proqram təminatının təsvirinə daha maraqlı bağlantılar verilmişdir - əgər maraqlanırsınızsa, onu özünüz oxuyun və öyrənin. Misal üçün,

KVM və ya Kernel Virtual Module, kompüterinizi virtual maşınları idarə etmək üçün hipervizora çevirməyə imkan verən Linux nüvəsi üçün virtuallaşdırma moduludur. Bu modul kernel səviyyəsində işləyir və Intel VT və AMD SVM kimi aparat sürətləndirilməsi texnologiyalarını dəstəkləyir.

Öz-özünə istifadəçi məkanında KVM proqramı heç nəyi virtuallaşdırmır. Əvəzində, kerneldə qonaq üçün virtual ünvan boşluqlarını konfiqurasiya etmək üçün /dev/kvm faylından istifadə edir. Hər bir qonaq maşınının öz video kartı, şəbəkə və səs kartı, sərt disk və digər avadanlıqları olacaq.

Həmçinin, qonaq sisteminin real əməliyyat sisteminin komponentlərinə çıxışı olmayacaq. Virtual maşın tamamilə təcrid olunmuş məkanda işləyir. Siz həm GUI sistemində, həm də serverlərdə kvm-dən istifadə edə bilərsiniz. Bu yazıda kvm Ubuntu 16.04-ün necə qurulacağına baxacağıq

KVM quraşdırılmasına davam etməzdən əvvəl, prosessorunuzun Intel-VT və ya AMD-V-dən aparat virtuallaşdırma sürətləndirilməsini dəstəklədiyini yoxlamaq lazımdır. Bunu etmək üçün aşağıdakı əmri yerinə yetirin:

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

Nəticə 0-ı qaytararsa, prosessorunuz hardware virtualizasiyasını dəstəkləmir, əgər 1 və ya daha çox olarsa, o zaman maşınınızda KVM-dən istifadə edə bilərsiniz.

İndi KVM-nin quraşdırılmasına davam edə bilərik, bir sıra proqramlar birbaşa rəsmi depolardan əldə edilə bilər:

sudo apt quraşdırmaq qemu-kvm libvirt-bin bridge-utils virt-manager cpu-checker

Biz yalnız kvm yardım proqramını deyil, həm də libvirt kitabxanasını, həmçinin virtual maşın menecerini quraşdırdıq. Quraşdırma tamamlandıqdan sonra istifadəçinizi libvirtd qrupuna əlavə etməlisiniz, çünki bu qrupdakı yalnız kök və istifadəçilər KVM virtual maşınlarından istifadə edə bilər:

sudo gpasswd -a USER libvirtd

Bu əmri yerinə yetirdikdən sonra sistemdən çıxın və yenidən daxil olun. Sonra, hər şeyin düzgün qurulduğunu yoxlayaq. Bunu etmək üçün kvm-ok əmrindən istifadə edin:

MƏLUMAT: /dev/kvm mövcuddur
KVM sürətləndirilməsi istifadə edilə bilər

Hər şey düzgün aparılıbsa, eyni mesajı görəcəksiniz.

Ubuntu 16.04-də KVM-dən istifadə

Ubuntu-da kvm quraşdırma tapşırığını tamamladınız, lakin bu virtuallaşdırma mühitindən hələ istifadə edə bilməzsiniz və hələ də konfiqurasiya edilməlidir. Sonra, kvm Ubuntu-nu necə konfiqurasiya edəcəyimizə baxacağıq. Əvvəlcə şəbəkənizi qurmalısınız. Virtual maşının kompüter şəbəkəsinə qoşulacağı körpü yaratmalıyıq.

NetworkManager-də körpünün konfiqurasiyası

Bu, bir neçə yolla edilə bilər, məsələn, NetworkManager şəbəkə konfiqurasiya proqramından istifadə edə bilərsiniz.

Paneldəki NetworkManager ikonasına klikləyin, sonra seçin əlaqələri dəyişdirin, sonra düyməni basın əlavə et:

Sonra əlaqə növünü seçin Körpü və basın Yaradın:

Açılan pəncərədə düyməni basın Əlavə et, körpünü internetə bağlamaq üçün:

Siyahıdan seçin Ethernet və basın Yaradın:

Növbəti pəncərədə sahədə seçin qurğu, körpümüzün əlaqələndirilməli olduğu şəbəkə interfeysi:

İndi şəbəkə bağlantıları siyahısında körpünüzü görəcəksiniz. Dəyişiklikləri tam tətbiq etmək üçün şəbəkəni yenidən başlatmaq qalır, bunu etmək üçün işə salın:

Körpünün əl ilə qurulması

Əvvəlcə bridge-utils utilitlər dəstini quraşdırmalısınız, əgər siz hələ belə etməmisinizsə:

sudo apt install bridge-utils

Daha sonra brctl proqramından istifadə edərək bizə lazım olan körpünü yarada bilərik. Bunu etmək üçün aşağıdakı əmrlərdən istifadə edin:

sudo brctl addbr bridge0
$ sudo ip addr göstərir
$ sudo addif bridge0 eth0

Birinci komanda br0 körpü cihazını əlavə edir, ikincisi ilə hansı şəbəkə interfeysinin xarici şəbəkəyə əsas əlaqə olduğunu müəyyənləşdirməlisiniz, mənim vəziyyətimdə bu eth0-dır. Və sonuncu əmrlə br0 körpüsünü eth0 ilə birləşdiririk.

İndi şəbəkə parametrlərinə bir neçə sətir əlavə etməlisiniz ki, sistem işə salındıqdan sonra hər şey avtomatik başlasın. Bunu etmək üçün /etc/network/interfaces faylını açın və oraya aşağıdakı sətirləri əlavə edin:

sudo gedit /etc/şəbəkə/interfeyslər

geri dönmə
avtomatik körpü0
iface lo inet loopback
iface bridge0 inet dhcp
bridge_ports eth0

Parametrlər əlavə edildikdə, şəbəkəni yenidən başladın:

sudo systemctl şəbəkəni yenidən başladın

İndi KVM-nin quraşdırılması və konfiqurasiyası tamamilə tamamlandı və siz ilk virtual maşınınızı yarada bilərsiniz. Bundan sonra, əmrdən istifadə edərək mövcud körpülərə baxa bilərsiniz:

KVM virtual maşınlarının yaradılması

Ubuntu KVM quraşdırması tamamlandı və indi ondan istifadə etməyə davam edə bilərik. Əvvəlcə mövcud virtual maşınların siyahısına baxaq:

virsh -c qemu:///sistem siyahısı

Boşdur. Terminal vasitəsilə və ya qrafik interfeysdə virtual maşın yarada bilərsiniz. Terminal vasitəsilə yaratmaq üçün virt-install əmrindən istifadə edin. Əvvəlcə libvirt qovluğuna gedək:

cd /var/lib/libvirt/boot/

CentOS-u quraşdırmaq üçün əmr belə görünəcək:

sudo virt-install\
--virt-type = kvm \
--ad centos7\
--ram 2048\
--vcpus=2\
--os-variant=rhel7 \
--hvm\
--cdrom=/var/lib/libvirt/boot/CentOS-7-x86_64-DVD-1511.iso \
--şəbəkə=körpü=br0,model=virtio \
--graphics vnc\
--disk yolu=/var/lib/libvirt/images/centos7.qcow2,size=40,bus=virtio,format=qcow2

Bu əmrin parametrlərinin nə demək olduğunu daha yaxından nəzərdən keçirək:

  • vicdanlı tip- virtuallaşdırma növü, bizim vəziyyətimizdə kvm;
  • ad- yeni avtomobilin adı;
  • ram- meqabaytla yaddaşın miqdarı;
  • vcpus- prosessor nüvələrinin sayı;
  • os-variant- əməliyyat sisteminin növü;
  • cdrom- sistemin quraşdırma şəkli;
  • şəbəkə körpüsü- əvvəllər konfiqurasiya etdiyimiz şəbəkə körpüsü;
  • qrafika- qrafik interfeysə çıxış əldə etmək yolu;
  • disk yolu- bu virtual maşın üçün yeni sərt diskin ünvanı;

Virtual maşının quraşdırılması başa çatdıqdan sonra əmrdən istifadə edərək VNC əlaqə parametrlərini öyrənə bilərsiniz:

sudo virsh vncdisplay centos7

İndi qəbul edilmiş məlumatları VNC müştərinizə daxil edə və hətta uzaqdan da virtual maşına qoşula bilərsiniz. Debian üçün əmr bir az fərqli olacaq, lakin hər şey oxşar görünür:

Şəkillər üçün qovluğa keçin:

cd /var/lib/libvirt/boot/

Lazım gələrsə, quraşdırma şəklini İnternetdən yükləyə bilərsiniz:

sudo wget https://mirrors.kernel.org/debian-cd/current/amd64/iso-dvd/debian-8.5.0-amd64-DVD-1.iso

Sonra virtual maşın yaradaq:

sudo virt-install\
--virt-type = kvm \
--name=debina8 \
--ram=2048\
--vcpus=2\
--os-variant=debian8 \
--hvm\
--cdrom=/var/lib/libvirt/boot/debian-8.5.0-amd64-DVD-1.iso \
--şəbəkə=körpü=körpü0,model=virtio \
--graphics vnc\
--disk yolu=/var/lib/libvirt/images/debian8.qcow2,size=40,bus=virtio,format=qcow2

İndi mövcud maşınların siyahısına yenidən baxaq:

virsh -c qemu:///sistem siyahısı

Virtual maşını işə salmaq üçün əmrdən istifadə edə bilərsiniz:

sudo virsh başlanğıc maşın adı

Dayandırmaq:

sudo virsh kapatma maşınının adı

Yuxu rejiminə keçmək üçün:

sudo virsh maşın adını dayandırın

Yenidən yükləmək üçün:

sudo virsh maşın adını yenidən başladın

sudo virsh maşın adını sıfırladı

Virtual maşını tamamilə silmək üçün:

sudo virsh maşın adını məhv edir

GUI-də virtual maşınların yaradılması\

Qrafik interfeysə çıxışınız varsa, terminaldan istifadə etməyə ehtiyac yoxdur, Virtual Menecer virtual maşın menecerinin tam qrafik interfeysindən istifadə edə bilərsiniz. Proqramı əsas menyudan işə salmaq olar:

Yeni bir maşın yaratmaq üçün monitor simgesi ilə işarəni vurun. Sonra, sisteminizin ISO görüntüsünü seçməlisiniz. Siz həmçinin real CD/DVD sürücüsündən istifadə edə bilərsiniz:

Növbəti ekranda virtual maşın üçün mövcud olacaq yaddaşın həcmini, həmçinin prosessor nüvələrinin sayını seçin:

Bu ekranda siz maşınınızda mövcud olacaq sabit diskin ölçüsünü seçməlisiniz:

Sihirbazın son addımında siz maşın parametrlərinin düzgün olub olmadığını yoxlamalı və həmçinin onun adını daxil etməlisiniz. Maşının şəbəkəyə qoşulacağı şəbəkə körpüsünü də göstərməlisiniz:

Bundan sonra maşın istifadəyə hazır olacaq və siyahıda görünəcək. Menecer alətlər panelindəki yaşıl üçbucaqdan istifadə edərək onu işə sala bilərsiniz.

nəticələr

Bu yazıda biz KVM Ubuntu 16.04-ün necə qurulacağına baxdıq, bu mühiti işə tam hazırlamaq, həmçinin virtual maşınların yaradılması və onlardan necə istifadə ediləcəyinə baxdıq. Hər hansı bir sualınız varsa, şərhlərdə soruşun!

Yekun olaraq, Yandex-dən Linux-da virtuallaşdırmanın nə olduğu haqqında mühazirə:

Quraşdırma haqqında əvvəllər yazmışdım Qemu-KVM V Debian. Amma fikrimcə, məlumat natamam çıxdı. Üstəlik bəzi nüansları nəzərə almadım. Buna görə də Qemu-KVM virtual maşınının quraşdırılması ilə bağlı yenilənmiş məqaləni diqqətinizə çatdırıram. Təbii ki, köhnə məqaləni siləcəm.

Məncə bunun nə olduğunu izah etməliyəm virtual maşın, buna dəyməz. Yəqin ki, bunu bilirsiniz (bu məqaləni oxuduğunuz üçün). Əgər olmasa - . Biz birbaşa mövzuya diqqət yetirəcəyik. Qemu-KVM tam virtuallaşdırmanın ən xəyalpərəst (mənim fikrimcə) texnologiyalarından ikisini birləşdirən layihədir. Qemuçox müxtəlif aparat arxitekturalarını dəstəkləyən bir növ “kompüter emulyatorudur”. Hər hansı bir cihaz üçün demək olar ki, hər hansı bir ƏS-ni işlədə bilər (məsələn, köhnə versiyaları işlətmişəm Mac OS Xüçün olan PowerPC). Qemu-nun dezavantajı, aparat sürətləndirilməsinin olmaması səbəbindən yavaşlığıdır. Və sonra başqa bir layihə xilasetmə üçün gəlir - KVM. Və ya Kernel Virtual Machine. KVM tam virtuallaşdırma ilə hardware sürətləndirilməsinə imkan verən Linux nüvəsi texnologiyasıdır. KVM-in dezavantajı onun yalnız x86 arxitekturasını dəstəkləməsidir

Niyə Qemu-KVM? Linux üçün bu, ən çox tövsiyə olunan virtuallaşdırma layihəsidir. Daha sürətli işləyir VirtualBoxVMware Player(testlərimə görə), KVM Linux üçün doğma texnologiyadır. Üstəlik, iki video kartı olan yaxşı bir oyun kompüteriniz varsa, Qemu-KVM-də quraşdıra bilərsiniz Windows, ona video kartlardan birini atın və başqa bir OS-yə yenidən başlamağı unutun. Oynamaq istəyirsinizsə, Windows ilə virtual maşın işə salın və oynayırsınız. Performans, aparatda quraşdırılmış Windows-un performansının 95% -ni təşkil edəcəkdir. Amma mənim fikrimcə, sadəcə gözəldir. Bu barədə ayrıca məqalə yazacam. Maraqlı olacaq :)

İndi fəaliyyət planımızı təsvir edəcəyəm. Əvvəlcə bir nümunədən istifadə edərək quraşdırmanı həyata keçirəcəyəm Debian 8.2 GNOME 64 bit, baxmayaraq ki, digər qrafik mühitlərdə əhəmiyyətli fərqlər olmayacaq. İkincisi, KVM ilə işləməyi yalnız qrafik rejimdə təsvir edəcəyəm (axı biz onu serverə quraşdırmayacağıq). Buna görə də, adətən serverin virtuallaşdırılması vəziyyətində olduğu kimi terminallar, skriptlər və s. Üçüncüsü, Qemu və KVM üçün sənədləri əlavə olaraq oxumağı məsləhət görürəm (məqalənin sonunda bağlantılar verəcəyəm). Bu paketin bütün potensialından maksimum istifadə etmək istəyirsinizsə, bu sizin üçün çox faydalı olacaq. Bizim fəaliyyət planımız bəllidir. İndi hərəkət addımları:

  • qemu-kvm quraşdırın;
  • qrafik menecerin və əlavə kommunalların quraşdırılması;
  • şəbəkə körpüsünün qurulması;
  • virtual maşınlar üçün yaddaş yaratmaq;
  • qonaq sisteminin quraşdırılması.
Əvvəlcə kompüterinizin hardware virtualizasiyasını dəstəklədiyini yoxlayaq. Bunu etmək üçün terminalda əmri yerinə yetirin:

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

Komanda çıxışında hər ikisi olmalıdır vmx, və ya svm. Əgər onlar yoxdursa, BIOS-da virtualizasiyanın aktiv olub olmadığını yoxlayın (elementləri axtarın Intel VT-i və ya oxşar AMD). Heç bir şey yoxdursa, bəxtiniz çatmır.

Lazımi komponentləri quraşdırın:

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

Özünüzü libvirt qrupuna əlavə edin:

sudo adduser $USER libvirt

İndi şəbəkəni quraq. Bütün virtual maşınların şəbəkəyə daxil ola bilməsi və bir-biri ilə əlaqə saxlaması üçün hər bir virtual maşın üçün şəbəkə körpüsü və virtual şəbəkə kartları yaratmalısınız ( cihazlara toxunun). Qrafik interfeysdən virtual maşınlar quraşdıracağımız üçün əl ilə kranlar yaratmağa ehtiyac yoxdur. Virt Meneceri hər dəfə başladığımız zaman bunu bizim üçün edəcək. Yalnız körpünü konfiqurasiya etməliyik. Əvvəlcə nüvədə marşrutlaşdırmanı aktiv edək:

sudo nano /etc/sysctl.conf

net.ipv4_forward=0 sətirini axtarırıq və onun dəyərini dəyişirik 1 . Biz də qənaət edirik:

sudo sysctl -s

Sonra aşağıdakıları qəbul edəcəyəm: 1) kompüterinizdə marşrutlaşdırıcıdan IP ünvanı alan bir şəbəkə kartı var. 2) 3G modem vasitəsilə İnternetə daxil olursunuz və şəbəkə kartınız pulsuzdur. Bu seçim daha çox əl işlərini əhatə edir, lakin bir neçə dəfə sınaqdan keçirilmişdir (mən bunu maşınlardan birində özüm etmişəm). Beləliklə, interfeys faylını açın:

sudo nano /etc/network/interfaces

Onun standart məzmunu bunlardır:



avto lo
iface lo inet loopback

Biz onun məzmununu dəyişirik. Birinci seçim üçün:

mənbə /etc/network/interfaces.d/*

# Geri dönmə şəbəkə interfeysi
avto lo
iface lo inet loopback

avtomatik et0
iface eth0 inet təlimatı

avtomatik br0
iface br0 inet statik
ünvan 192.168.0.2
şlüz 192.168.0.1
şəbəkə maskası 255.255.255.0
şəbəkə 192.168.0.0
yayım 192.168.0.255
bridge_ports eth0
bridge_stp off
bridge_maxwait 0
bridge_fd 0

İkinci seçim üçün:

mənbə /etc/network/interfaces.d/*

# Geri dönmə şəbəkə interfeysi
avto lo
iface lo inet loopback

avtomatik ppp0
iface ppp0 inet wvdial

avtomatik et0
iface eth0 inet təlimatı

avtomatik br0
iface br0 inet statik
ünvan 192.168.0.2
şlüz 192.168.0.1
şəbəkə maskası 255.255.255.0
şəbəkə 192.168.0.0
yayım 192.168.0.255
bridge_ports eth0
bridge_stp off
bridge_maxwait 0
bridge_fd 0
yuxarı marşrut del default br0

Qeyd: sistem işə salındıqdan sonra modem vasitəsilə avtomatik İnternet bağlantısına ehtiyacınız yoxdursa, avtomatik ppp0 və sətirləri çıxarın.
iface ppp0 inet wvdial. Əks halda, sistem işə salındıqda modemin USB portuna daxil olduğundan əmin olun.

Yadda saxla. İndi bir modem ilə seçim üçün, yığım proqramını quraşdırmalısınız wvdial:

sudo apt wvdial quraşdırın

Konfiqurasiyanın redaktə edilməsi (qeyd: 3G modemi nümunə kimi istifadə olunur Beeline. İnternetdə digər modemlər üçün konfiqurasiya nümunələrini asanlıqla tapa bilərsiniz):

sudo nano /etc/wvdial.conf


Başlanğıc1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","home.beeline.ru"
Axmaq rejimi = 1
ISDN = 0
Modem növü = USB modem
Yeni PPPD = bəli
Telefon = *99#
Modem = /dev/ttyACM0
İstifadəçi adı = beeline
Parol = beeline
Baud = 9600
Ölkə = Rusiya
Avtomatik yenidən qoşulma=aktiv
Avtomatik DNS = söndürülür
Boş Saniyələr = 0

Yadda saxla. İndi modem sistem yükləndikdən dərhal sonra açılacaq. Del default br0 xətti marşrutu körpüdən keçən standart marşrutu silir. Bu edilmədikdə, siz İnternetə qoşula bilməyəcəksiniz, çünki trafik 3G modem vasitəsilə deyil, körpünün üstündən keçəcək.

Son addımı söyləməliyik firewall, trafiki virtual maşınlarımızdan şəbəkəyə və geriyə ötürməsi üçün. Bunu etmək üçün iki yolla gedə bilərsiniz: bir neçə qayda ilə bir skript yazın iptables, sistemlə birlikdə işləyəcək və ya bu qaydaları əl ilə daxil edin və onları yadda saxlayın. Birinci variantdan istifadə edəcəyəm. İkincisi üçün paketi quraşdırmalı olacaqsınız iptables-davamlı və sadəcə qaydaları bir-bir daxil edin (sudo istifadə edərək). Belə ki. skript yaradın (istənilən mətn redaktorunda). Aşağıdakı məzmunu ora yapışdırın:

#!/bin/sh

# Ünvan dəyişdirilməsinin (NAT) tətbiq ediləcəyi çıxış interfeysini müəyyənləşdirin
iptables -v -t nat -A POSTROUTING -o ppp0 -j MASQUERAD

# Qlobal şəbəkədən (0.0.0.0/0) modemin qəbul etdiyi bütün paketləri yerli şəbəkəyə (192.168.0.0/24) yönləndiririk.
iptables -v -A FORWARD -i ppp0 -o br0 -s 0.0.0.0/0 -d 192.168.0.0/24 -j QƏBUL EDİN

# Lokal şəbəkədən gələn bütün paketləri (192.168.0.0/24) qlobal şəbəkəyə (0.0.0.0/0) yönləndirin
iptables -v -A FORWARD -i br0 -o ppp0 -s 192.168.0.0/24 -d 0.0.0.0/0 -j QƏBUL EDİN

kimi yadda saxlayın gateway.sh və icra hüquqlarını verin (ya fayl xassələrində, ya da komanda ilə terminalda chmod +x gateway.sh). İndi siz sistem yükləndikdən sonra onu əl ilə işə sala və ya onu işə sala bilərsiniz. Bunu etmək üçün skripti üzərinə köçürün ~/.config/autostart(fayl menecerində gizli faylları göstərin və kataloqu görəcəksiniz .config ev kataloqunuzda).

İndi hər şey virtual maşını quraşdırmaq üçün hazırdır. Tətbiq menyusundan Virt Manager-i işə salın (virtual maşın meneceri):

Xəttin üzərinə sağ vurun localhost və seçin Təfərrüatlar. Taba keçin Saxlama. Virtual maşınları saxlamaq üçün qovluğu (və ya disk bölməsini/diski) müəyyən etməliyik.

Aşağı sol küncdə artı işarəsinə klikləyin ( Hovuz əlavə edin), saxlama növünü və ona gedən yolu göstərin.

Nişanda Şəbəkə interfeysləri, hər şeyin işlədiyini yoxlaya bilərsiniz.

İndi basırıq Fayl - Yeni virtual maşın. Disk şəklinə gedən yolu və virtual maşının növünü göstərin. Sonra, bunun üçün RAM miqdarını və prosessor nüvələrinin sayını göstəririk. Sonra, yaddaşımızı göstərin və vurun Yeni cild. Adı göstərin, növü buraxın qcow2, və ölçüsü. Bu virtual sabit disk olacaq. Qrafik qabığı və bir dəstə proqramı olan bir sistem qurmağı planlaşdırırsınızsa, daha çox yer verin (50 gigabayt). Son nişanda qutuyu işarələyin Başlamadan əvvəl parametrləri dəyişdirin, körpümüzün şəbəkə cihazı kimi seçildiyini yoxlayın, virtual maşın üçün istənilən ad yazın və klikləyin Tamamlayın. Bu virtual maşın üçün parametrlər pəncərəsi qarşınızda açılacaq.





Taba keçin CPU, və üzərinə işarə qoyun Ana prosessor parametrlərini kopyalayın.

Nişanın yanında Net(növbəti) və həmçinin göstərir vitio. Nişanda Ekran qeyd edin ədviyyat, və nişanda Video - QXL. Adətən bu birləşmə maksimum qrafik göstərmə performansını təmin edir, lakin istəsəniz, təcrübə edə bilərsiniz. Nəzərə alın ki, Windows qonaq sistemləri üçün QXL sürücüsünün ayrıca quraşdırılması tələb olunur (Windows-un özündə).


İndi hər şey hazırdır, yuxarı sol küncdə klikləyin Quraşdırmaya başlayın. Və sistemi adi qaydada quraşdırın, bir istisna ilə: quraşdırıcı şəbəkəni avtomatik konfiqurasiya etməyə başlayan kimi vurun Ləğv et, və seçin Şəbəkəni əl ilə konfiqurasiya edin. Virtual maşın üçün istədiyiniz IP ünvanını göstərin (bizim halda 192.168.0.3 ), alt maska ​​( 255.255.255.0 ), şlüz (şluz host ünvanı olacaq, yəni 192.168.0.2 ) və DNS serveri (burada sadəcə Google qeyd edin 8.8.8.8 ). Hamısı budur. Əlavə heç nə etməyə ehtiyac yoxdur. Sistemi quraşdırın və konfiqurasiya edin. Ümumiyyətlə, hamısı budur. Təsvir edilən addımlar, məsələn, VirtualBox-u daha yaxşı alternativlə əvəz etməyin bir yoludur. Sənədləri oxuduqdan sonra Qemu-KVM-in imkanlarının nə qədər geniş olduğunu başa düşəcəksiniz. Mən burada qəsdən əlavə konsol parametrlərini və virtual maşınları terminal vasitəsilə işə salmaq üsullarını təsvir etmədim, çünki bu, ev maşınında həmişə lazım deyil. Bu barədə ayrı bir məqalə yazacağam, ev çoxfunksiyalı serverinin qurulması (o, həm də virtual maşın serveri kimi çıxış edə bilər). Nədənsə yazılanları başa düşməyənlər və ya hələ də aydın olmayan məqamlar olanlar üçün təsvir etməyəcəyim videoya baxmağı təklif edirəm, ancaq bütün bunları necə quraşdırmağı və konfiqurasiya etməyi sizə göstərməyinizi təklif edirəm. Məqalə ilə bağlı təklifləriniz və ya əlavələriniz varsa, şərhlərdə yazın.

WordPress 5.3-ün buraxılışı WordPress 5.0-da təqdim edilmiş blok redaktorunu yeni blok, daha intuitiv qarşılıqlı əlaqə və təkmilləşdirilmiş əlçatanlıq ilə təkmilləşdirir və genişləndirir. Redaktorda yeni funksiyalar […]

Doqquz aylıq inkişafdan sonra müxtəlif multimedia formatlarında (yazı, konvertasiya və […]

  • Linux Mint 19.2 Cinnamon-da yeni xüsusiyyətlər

    Linux Mint 19.2 2023-cü ilə qədər dəstəklənəcək uzunmüddətli dəstək buraxılışıdır. O, yenilənmiş proqram təminatı ilə gəlir və təkmilləşdirmələr və bir çox yeni […]

  • Linux Mint 19.2 paylanması buraxıldı

    Ubuntu 18.04 LTS paket bazasında yaradılmış və 2023-cü ilə qədər dəstəklənən Linux Mint 19.x filialının ikinci yeniləməsi olan Linux Mint 19.2 paylanmasının buraxılışı təqdim olunur. Dağıtım tam uyğundur [...]

  • Baq həlləri və funksiya təkmilləşdirmələrini ehtiva edən yeni BIND xidmət buraxılışları mövcuddur. Yeni buraxılışlar tərtibatçının veb saytındakı yükləmələr səhifəsindən endirilə bilər: [...]

    Exim İnternetə qoşulmuş Unix sistemlərində istifadə üçün Kembric Universitetində hazırlanmış mesaj ötürmə agentidir (MTA). [...] uyğun olaraq sərbəst mövcuddur.

    Təxminən iki illik inkişafdan sonra ZFS-in Linux 0.8.0-da buraxılışı, Linux nüvəsi üçün modul kimi hazırlanmış ZFS fayl sisteminin tətbiqi təqdim olunur. Modul Linux nüvələri ilə 2.6.32-dən […]

  • WordPress 5.1.1 saytınıza nəzarət etməyə imkan verən zəifliyi aradan qaldırır
  • İnternet protokollarını və arxitekturasını inkişaf etdirən IETF (Internet Engineering Task Force) ACME (Avtomatik Sertifikat İdarəetmə Mühiti) protokolu üçün RFC-ni tamamladı [...]

    İcmanın nəzarətində olan və hər kəsə pulsuz sertifikatlar təqdim edən qeyri-kommersiya sertifikatlaşdırma orqanı Let’s Encrypt ötən ilin yekunlarına yekun vurub və 2019-cu il üçün planlardan danışıb. […]

  • Libreoffice-in yeni versiyası buraxıldı – Libreoffice 6.2
  • Hipervizor dəstəyi yoxlanılır

    Serverin virtuallaşdırma texnologiyalarını dəstəklədiyini yoxlayırıq:

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

    Cavab olaraq belə bir şey almalısınız:

    bayraqlar: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lmtopper_ non repetitors tsc aperfm perf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 popcnt aes lahf_lm epb tpr_shadow vnmi flexpriority ept vpid dtherm ida arat

    Əks halda, BIOS-a gedin, virtuallaşdırma texnologiyasını aktivləşdirmək üçün seçim tapın (müxtəlif adlara malikdir, məsələn, Intel Virtualizasiya Texnologiyası və ya Virtuallaşdırma) və onu aktivləşdirin - dəyəri təyin edin. Aktivləşdirin.

    Siz həmçinin komanda ilə uyğunluğu yoxlaya bilərsiniz:

    * əmr səhv qaytararsa "kvm-ok əmri tapılmadı", müvafiq paketi quraşdırın: apt-get quraşdırma cpu yoxlayıcısı.

    Görsək:

    MƏLUMAT: /dev/kvm mövcuddur
    KVM sürətləndirilməsi istifadə edilə bilər

    Bu, hardware dəstəyinin olması deməkdir.

    Serverin hazırlanması

    Rahatlığımız üçün KVM üçün məlumatları saxlayacağımız qovluq yaradacağıq:

    mkdir -p /kvm/(vhdd,iso)

    * iki kataloq yaradılacaq: /kvm/vhdd(virtual sabit disklər üçün) və /kvm/iso(iso şəkillər üçün).

    Gəlin vaxtı təyin edək:

    \cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

    * bu əmr zonanı Moskva vaxtına uyğun olaraq təyin edir.

    ntpdate ru.pool.ntp.org

    * Biz vaxt serveri ilə sinxronizasiya edirik.

    Quraşdırma və işə salma

    KVM və lazımi idarəetmə proqramlarını quraşdırın.

    a) Ubuntu 18.10 versiyasına qədər

    apt-get install qemu-kvm libvirt-bin virtinst libosinfo-bin

    b) 18.10-dan sonra Ubuntu:

    apt-get install qemu-kvm libvirt-daemon-system libvirt-bin virtinst libosinfo-bin

    * Harada qemu-kvm- hipervizor; libvirt-bin— hipervizorun nəzarət kitabxanası; bakir— virtual maşın idarəetmə yardım proqramı; paltarinfo-bin— qonaq əməliyyat sistemləri kimi istifadə edilə bilən əməliyyat sistemi seçimlərinin siyahısına baxmaq üçün köməkçi proqram.

    Xidməti avtomatik işə salmaq üçün konfiqurasiya edək:

    systemctl libvirtd-i aktivləşdirin

    libvirtd-i işə salaq:

    systemctl start libvirtd

    Şəbəkə konfiqurasiyası

    Virtual maşınlar NAT-ın arxasında işləyə bilər (bu, KVM serveridir) və ya yerli şəbəkədən IP ünvanlarını qəbul edə bilər - bunun üçün şəbəkə körpüsünü konfiqurasiya etməlisiniz. Sonuncunu konfiqurasiya edəcəyik.

    Uzaqdan bağlantıdan istifadə edərkən parametrlərinizi diqqətlə yoxlayın. Səhv baş verərsə, əlaqə dayandırılacaq.

    bridge-utils quraşdırın:

    apt-get install bridge-utils

    a) Ubuntu-nun köhnə versiyalarında şəbəkənin qurulması (/etc/network/interfaces).

    Şəbəkə interfeyslərini konfiqurasiya etmək üçün konfiqurasiya faylını açın:

    vi /etc/şəbəkə/interfeyslər

    Və onu bu formada qoyaq:

    #iface eth0 inet statik
    # ünvan 192.168.1.24
    # şəbəkə maskası 255.255.255.0
    #gateway 192.168.1.1
    # dns-ad serverləri 192.168.1.1 192.168.1.2

    Avtomatik br0
    iface br0 inet statik
    ünvan 192.168.1.24
    şəbəkə maskası 255.255.255.0
    şlüz 192.168.1.1
    dns-ad serverləri 192.168.1.1 192.168.1.2
    bridge_ports eth0
    bridge_fd 9
    körpü_salam 2
    bridge_maxage 12
    bridge_stp off

    * burada şərh edilən hər şey mənim şəbəkəmin köhnə parametrləridir; br0— yaradılmış körpünün interfeysinin adı; et0— körpünün işləyəcəyi mövcud şəbəkə interfeysi.

    Şəbəkə xidmətini yenidən başladın:

    systemctl şəbəkəni yenidən başladın

    b) Ubuntu-nun yeni versiyalarında şəbəkənin qurulması (netplan).

    vi /etc/netplan/01-netcfg.yaml

    * sistem versiyasından, konfiqurasiya faylından asılı olaraq yaml fərqli bir ad ola bilər.

    Gəlin onu formaya gətirək:

    şəbəkə:
    versiya: 2
    renderer: networkd
    ethernetlər:
    eth0:
    dhcp4: yalan
    dhcp6: yalan
    wakeonlan: doğrudur

    Körpülər:
    br0:
    macaddress: 2c:6d:45:c3:55:a7
    interfeyslər:
    -eth0
    ünvanlar:
    - 192.168.1.24/24
    Gateway 4: 192.168.1.1
    mtu: 1500
    ad serverləri:
    ünvanlar:
    - 192.168.1.1
    - 192.168.1.2
    parametrlər:
    stp: doğrudur
    İrəli gecikmə: 4
    dhcp4: yalan
    dhcp6: yalan

    * bu nümunədə biz virtual körpü interfeysi yaradırıq br0; fiziki interfeys kimi istifadə edirik et0.

    Şəbəkə parametrlərini tətbiq edin:

    Biz şəbəkə trafikinin yönləndirilməsini israr edirik (belə ki, NAT şəbəkə interfeysi olan virtual maşınlar İnternetə daxil ola bilsin):

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

    Xətti əlavə edin:

    net.ipv4.ip_forward=1

    Parametrləri tətbiq edin:

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

    Virtual maşın yaratmaq

    İlk virtual maşını yaratmaq üçün aşağıdakı əmri daxil edin:

    virt-install -n VM1\
    --avtomatik başlama\
    --noautoconsole\
    --şəbəkə=körpü:br0 \
    --ram 2048 --arch=x86_64 \
    --vcpus=2 --cpu host --check-cpu \
    --disk yolu=/kvm/vhdd/VM1-disk1.img, ölçüsü=16 \
    --cdrom /kvm/iso/ubuntu-18.04.3-server-amd64.iso \
    --graphics vnc,dinlə=0.0.0.0,parol=vnc_password \
    --os-type linux --os-variant=ubuntu18.04 --boot cdrom,hd,menu=on

    • VM1 - yaradılan maşının adı;
    • avtomatik başlama - virtual maşının KVM serveri ilə birlikdə avtomatik işə salınmasına icazə verin;
    • noautoconsole - virtual maşın konsoluna qoşulmur;
    • şəbəkə -şəbəkə növü. Bu nümunədə biz “şəbəkə körpüsü” interfeysi ilə virtual maşın yaradırıq. NAT növü ilə daxili interfeys yaratmaq üçün daxil edin --şəbəkə=defolt,model=virtio;
    • ram - RAM miqdarı;
    • vcpus - virtual prosessorların sayı;
    • disk - virtual disk: yol - diskə gedən yol; ölçü - onun həcmi;
    • CD-ROM - sistem görüntüsü ilə virtual sürücü;
    • qrafika qrafik konsoldan istifadə edərək virtual maşına qoşulma parametrləri (bu nümunədə biz vnc istifadə edirik); dinləmək - vnc sorğuları hansı ünvanda qəbul edilir (bizim nümunəmizdə hamısı); parol - vnc istifadə edərək qoşulmaq üçün parol;
    • os-variant - qonaq əməliyyat sistemi (bütün siyahını əmrlə aldıq osinfo-query os, bu nümunədə Ubuntu 18.04 quraşdırırıq).

    Virtual maşına qoşulur

    Virtual maşınlarla işləməyi planlaşdırdığımız kompüterdə VNC müştərisini yükləyin, məsələn, TightVNC və quraşdırın.

    Serverə daxil oluruq:

    virsh vncdisplay VM1

    komanda VM1 maşını üçün VNC-nin hansı portda işlədiyini göstərəcək. Məndə olub:

    * :1 o deməkdir ki, 5900 - 5900 + 1 = 5901-ə 1 əlavə etməlisiniz.

    Quraşdırdığımız TightVNC Viewer proqramını işə salın və əlaqə məlumatlarını daxil edin:

    Basın Qoşun. Parol tələb olunduqda, VM yaratarkən göstərdiyiniz parolu daxil edin ( vnc_password). Uzaqdan idarəetmə konsolundan istifadə edərək virtual maşına qoşulacağıq.

    Şifrəni xatırlamırıqsa, virtual maşın quraşdırmasını əmrlə açırıq:

    Və xətti tapırıq:



    * bu nümunədə virtual maşına daxil olmaq üçün parol istifadə olunur 12345678 .

    Komanda xəttindən virtual maşının idarə edilməsi

    Virtual maşınlarla işləyərkən faydalı ola biləcək əmrlərin nümunələri.

    1. Yaradılmış maşınların siyahısını əldə edin:

    virsh siyahısı - hamısı

    2. Virtual maşını aktivləşdirin:

    virsh başlanğıc VMname

    * Harada VM adı— yaradılmış maşının adı.

    3. Virtual maşını bağlayın:

    ubuntu-vm-builder, yeni virtual maşınlar yaratmağı asanlaşdırmaq üçün Canonical tərəfindən hazırlanmış paketdir.

    Onu quraşdırmaq üçün daxil edin:

    apt-get quraşdırma ubuntu-vm-builder