Ubuntu सर्वर VM में PXE बूट सर्वर इंस्टालेशन चरण


15

मैं पीएक्सई बूट सर्वर का उपयोग करके उबंटू वर्चुअल मशीन कैसे स्थापित कर सकता हूं?

मुझे सभी कॉन्फ़िगरेशन विवरणों की आवश्यकता है और कॉन्फ़िगरेशन फ़ाइलों में क्या बदलना है।

जवाबों:


31

पीएक्सई (प्रीबूट एक्जिक्यूशन एनवायरनमेंट, स्पष्ट पिक्सी)

विकिपीडिया: पीएक्सई देखें

यह काम किस प्रकार करता है?

यह मेरी समझ है!

PXE_Diagram_en.png

  1. ग्राहक मशीन चालू है। उपकरणों के लिए BIOS स्कैन। इसके बाद बूट-लोडर को बूट डिवाइस / अनुक्रम में सूचीबद्ध आवश्यक डिवाइस से लोड करने की कोशिश करता है । यह नेटवर्क कार्ड ROM से PXE लोड करता है।
  2. पीएक्सई (क्लाइंट साइड) ने एक आईपी के लिए एक अनुरोध प्रसारित किया। आवश्यक जानकारी के साथ डीएचसीपी सर्वर उत्तर: आईपी, अगला सर्वर आईपी (टीएफटीपी सर्वर आईपी), pxelinux.0(पीएक्सई बूटस्ट्रैप लोडर फ़ाइल नाम), ... आदि।

    PXE_Boot_1.png

  3. TFE (क्लाइंट साइड) pxelinux.0फ़ाइल TFTP सर्वर से अनुरोध करता है, इसे रैम पर लोड करता है और फिर नियंत्रण को पास करता है pxelinux.0

    pxelinux.0नाम के साथ TFTP सर्वर से बूट कॉन्फ़िगरेशन फ़ाइल मिलती है:
    (यदि यह मौजूद नहीं है तो यह अगले के साथ कोशिश करता है)

    • UUID
    • मैक
    • राजधानी हेक्स में आई.पी.
    • आईपी ​​का एक हिस्सा
    • defaultफ़ाइल करने के लिए गिरता है

    PXE_Boot_2.png

  4. या तो उपयोगकर्ता की पसंद या डिफ़ॉल्ट मेनू प्रविष्टि। pxelinux.0TFTP सर्वर से संबंधित कर्नेल और RAMDisk का अनुरोध करता है और उन्हें RAM में लोड करता है।

    फिर बूट पैरामीटर और लोड किए गए कर्नेल को नियंत्रित करता है।

    PXE_Linux.png

  5. कर्नेल अपनी विशेषताओं / गुणों के आधार पर टीएफटीपी सर्वर या किसी अन्य प्रोटोकॉल सर्वर से शेष हिस्सों को लोड करता है।

    Parted_Magic_1.png Parted_Magic_2.png

सर्वर सेटअप

पीएक्सई सर्वर को सेटअप करने के कई तरीके हैं, यह उनमें से एक है।

इन निर्देशों का उबंटू 9.10 और उबंटू 10.04 पर असली मशीन पर परीक्षण किया गया । वे अभी भी मान्य होना चाहिए केवल कुछ ही बदलाव हो सकते हैं। (अपडेट किया गया और UbuntuBox 14.04 के लिए वर्चुअलबॉक्स पर, पुरानी रिलीज़ के लिए संपादित संशोधन देखें)

मेरा लक्ष्य PartedMagic 4.5 था , यह उबंटू या किसी लिनक्स वितरण के समान होना चाहिए।

  1. DHCP और TFTP पैकेज स्थापित करें

        sudo apt-get install isc-dhcp-server openbsd-inetd lftp tftpd-hpa syslinux
    
  2. डीएचसीपी सेटअप

    • संपादित करें /etc/default/isc-dhcp-server, डीएचसीपी सेवा के लिए ईथरनेट इंटरफ़ेस

      INTERFACES="eth0"
      
    • संपादित करें /etc/dhcp/dhcpd.conf‬या /etc/ltsp/dhcpd.confयह मौजूद है, डीएचसीपी सेवा विन्यास

      पीएक्सई विशिष्ट विन्यास: filenameऔरnext-server

      default-lease-time 600;
      max-lease-time 7200;
      subnet 192.168.10.0 netmask 255.255.255.0 {
          range 192.168.10.50 192.168.10.100;
          option subnet-mask 255.255.255.0;
          option routers 192.168.10.123;
          option broadcast-address 192.168.10.255;
          filename "pxelinux.0";
          next-server 192.168.10.123;
      }
      
    • डेस्कटॉप संस्करण या सर्वर संस्करण के लिए नेटवर्क प्रबंधक का उपयोग करते हुए eth0, 192.168.10.123मेरे मामले में एक स्थिर आईपी सेटअप करें /etc/network/interfaces

      auto eth0
      iface eth0 inet static
      address 192.168.10.123
      netmask 255.255.255.0
      network 192.168.10.0
      broadcast 192.168.10.255
      

      नेटवर्क इंटरफ़ेस को पुन: व्यवस्थित करें:

      sudo ifdown eth0
      sudo ifup eth0
      
    • फिर से शुरू सेवा

      sudo service isc-dhcp-server restart
      

      अवस्था जांच

      netstat -lu
      

      उत्पादन

      Proto Recv-Q Send-Q Local Address           Foreign Address         State      
      udp        0      0 *:bootpc                *:*                                
      
  3. TFTP सेटअप

    • संपादित करें ‪/etc/inetd.conf, पंक्ति #<off>#की शुरुआत से निकालें tftpया #:BOOT:टिप्पणी के तहत नहीं होने पर जोड़ें । (इसे सिस्टमड के साथ छोड़ें, 15.10 और बाद में)

      tftp    dgram   udp wait    root    /usr/sbin/in.tftpd  /usr/sbin/in.tftpd -s /var/lib/tftpboot
      
    • के लिए बूट सेवा सक्षम करें inetd

      sudo update-inetd --enable BOOT
      
    • सेवा शुरू करें

      sudo service openbsd-inetd restart
      sudo service tftpd-hpa restart
      

      अवस्था जांच

      netstat -lu
      

      उत्पादन

      Proto Recv-Q Send-Q Local Address           Foreign Address         State 
      udp        0      0 *:tftp                  *:*                          
      
  4. पीएक्सई बूट फाइलें सेटअप

    • अनजिप pmagic-pxe-4.5.zip। अगर pxelinux.0वहाँ नहीं है, यह से प्राप्त sysliux-commonपर स्थापित पैकेज /usr/lib/syslinux/pxelinux.0, SYSLINUX परियोजना या उबंटू netboot छवि

      उन्हें समान संरचना में रखें।

      /var/lib/tftpboot/
       |-- pxelinux.0
       |-- pxelinux.cfg/
       |   `-- default
       `-- pmagic/
           |-- bzimage
           `-- initramfs
      
    • संपादित करें /var/lib/tftpboot/pxelinux.cfg/default, यदि आवश्यक उदाहरण पथ: pmagic/bzimageऔरpmagic/initramfs

      DEFAULT partmagic 
      
      LABEL partmagic 
          MENU LABEL PartMagic 4.5 
          KERNEL pmagic/bzimage 
          APPEND initrd=pmagic/initramfs edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us livemedia
      
    • सही अनुमतियां सेट करें

      sudo find /var/lib/tftpboot -type f -exec chmod 644 {} \;
      sudo find /var/lib/tftpboot -type d -exec chmod 755 {} \;
      

क्लाइंट सेटअप

एक बार के लिए BIOS बदलें बूट क्रम का उपयोग कर F9या F12, BIOS विन्यास से स्थायी रूप से सेटअप के लिए DEL, F2या F12। (मशीन ब्रांड पर निर्भर करता है)

शीर्ष पर जाएँ [PXE | NIC | LAN | Ethernet | Network]:।

टिप्पणियाँ

  • inetutils-inetdया के xinetdबजाय इस्तेमाल किया जा सकता है openbsd-inetd, कुछ inetdकदम अलग हैं।

  • TFTP रूट डायरेक्टरी से बदला जा सकता है /etc/default/tftpd-hpa। अपडेट करना ‪/etc/inetd.confभी याद रखें ।

  • SSD (SFTP), SMB, NFS ... उदाहरण Ubuntu समर्थन NFS: कई वितरण समर्थन कई प्रोटोकॉल के माध्यम से RAMDisk लोड कर रहे हैं।

  • कुछ पुराने नेटवर्क कार्ड PXE का समर्थन नहीं करते हैं, iPXE ( Ex। GPXE या Etherboot ) का उपयोग किया जा सकता है, या तो फ्लॉपी डिस्क, USB ड्राइव, हार्डडिस्क ( /bootविभाजन) पर या इसे ROM (केवल कुछ NFS समर्थित) पर फ्लैश कर सकते हैं। GRUB2 में पीएक्सई का उपयोग करके बूटिंग का समर्थन करने के लिए मॉड्यूल है।

    यह भी देखें gPXE: विकिपीडिया और रोम-ओ-मैटिक

  • से उबंटू netboot छवि cdimage.ubuntu.com/netboot/ नेटवर्क से Ubuntu स्थापित करने प्रदान करता है और यह अगर आपके पास है सरकारी दर्पण या एक स्थानीय एक से सभी आवश्यक संकुल डाउनलोड करने के लिए कहेगा।

    अधिकांश उपयोगकर्ता पीएक्सई के माध्यम से लाइव छवि को बूट करने के लिए देख रहे हैं। यह सवाल केवल एक पीएक्सई सर्वर सेटअप करने के लिए था। उबंटू विकी देखें : इंस्टॉलेशन - लोकलनेट

    उबंटू नेटबूट - आधिकारिक संग्रह दर्पण Ubuntu NetBoot - कस्टम / स्थानीय संग्रह दर्पण

  • PXE मेनू को कस्टमाइज़ किया जा सकता है, जिससे सीखने के लिए सबसे अच्छा टेम्पलेट Ubuntu NetBoot हैPxeboot एकाधिक छवि देखें

    PXE_Linux_Menu.png

  • memdiskपीएक्सई के माध्यम से सीधे आईएसओ या फ्लॉपी डिस्क छवियों को लोड करने के लिए इस्तेमाल किया जा सकता है। syslinux-commonपैकेज की एक प्रति है। क्लाइंट के पास इमेज को पकड़ने के लिए पर्याप्त रैम होनी चाहिए और लोडेड ओएस चलाने के लिए एक भाग होना चाहिए।

    कॉन्फ़िगरेशन उदाहरण:

    /var/lib/tftpboot/
    |-- FDSTD.144
    |-- memdisk
    |-- pxelinux.0
    |-- slitaz-cooking.iso
    |-- pxelinux.cfg
    |   `-- default
    `-- pmagic/
        |-- bzimage
        `-- initramfs
    

    /pxelinux.cfg/default

    DEFAULT partmagic
    
    LABEL partmagic
        MENU LABEL PartMagic 4.5
        KERNEL pmagic/bzimage
        APPEND initrd=pmagic/initramfs edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us livemedia
    
    LABEL slitaz
        MENU LABEL ^Slitaz.iso
        TEXT HELP
    Testing boot from iso.
        ENDTEXT 
        KERNEL memdisk
        APPEND initrd=slitaz-cooking.iso
    
    LABEL freedos_std
        MENU LABEL ^FreeDOS STD
        TEXT HELP
    Testing boot from Floppy IMG.
        ENDTEXT 
        KERNEL memdisk
        APPEND initrd=FDSTD.144
    
  • मूल डेवलपर द्वारा इसे वाणिज्यिक बनाने का निर्णय लेने के बाद, पार्टेडमजिक पैकेज को आधिकारिक साइट से हटा दिया गया था, कुछ रिलीज टोरेंट नेटवर्क के माध्यम से मिल सकते हैं। यहां मेरा जवाब पहले पीएक्सई सेटअप का फिर से शुरू है जो मेरे लिए काम करता है। उबंटू नेटबूट इमेज को समान निर्देशों के साथ काम करना चाहिए।


दोस्तों, वास्तव में मैं Pxeboot पर काम कर रहा हूँ। मैंने इन पैकेजों को एक वर्चुअल मशीन (ओरेकल वर्चुअलबॉक्स) में स्थापित किया है, apt-get install nfs-kernel-server apt-get install tftpd-hpa inetutils-inetd apt-get install-syslinux apt-get install -c-dhcp- सर्वर मैं dhcpd को संपादित करता हूं .conf फ़ाइल और dhcp सर्वर चल रहा है
शुरुआती

@ स्नेचर: हाय, मैं tftpd-hda का उपयोग कर रहा हूं, डिफ़ॉल्ट मानों के साथ कॉन्फ़िगर किया गया है। A netstat -lu | grep tftpइसे श्रवण मोड में दिखाता है। / Tftpboot फ़ोल्डर 777 है, हालांकि अगर मैं tftp> get pxelinux.0क्लाइंट से कोशिश करता हूं तो मुझे हमेशा एक tftp मिलता है : pxelinux.0: अनुमति से इनकार त्रुटि। क्या आपको इसे डीबग करने का विचार है? अग्रिम में धन्यवाद।
दांडुक D२

@ Danduk82, /var/lib/tftpboot/755 के साथ (डिफ़ॉल्ट) ठीक होना चाहिए। जांचें कि pxelinux.0क्या 644 हैं या sudo chmod -R +r /var/lib/tftpboot/इसकी सभी सामग्री को पठनीय बनाने के लिए चलाएं ।
user.dz

1
नमस्ते, वास्तव में मैंने समस्या हल कर ली है: वास्तव में मैं (मूर्खतापूर्ण) जोड़ने के बाद डीएचसीपी सेवा को फिर से शुरू करना भूल गया filename "pxelinux.0";... कोई टिप्पणी नहीं; पी ... आपके उत्तर के लिए धन्यवाद और इस महान (और पूर्ण) उत्तर के लिए। चीयर्स
Danduk82

1
@ मैथ्यू, आप टोरेंट नेटवर्क के माध्यम से कुछ रिलीज पा सकते हैं, मूल डेवलपर द्वारा इसे वाणिज्यिक बनाने का फैसला करने के बाद पैकेजों को आधिकारिक साइट से हटा दिया गया था। इसके अलावा, आप cdimage.ubuntu.com/netboot का उपयोग कर सकते हैं यदि आप पहली बार PXE का परीक्षण या सेटअप करना चाहते हैं।
user.dz
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.