ฉันควรสร้างพาร์ติชันและพาร์ติชั่นกี่ตัวสำหรับเซิร์ฟเวอร์ linux?


15

พาร์ติชันมีความสำคัญมากบนเซิร์ฟเวอร์ Linux เพราะให้ความยืดหยุ่นอย่างมากเช่นเมื่ออัปเกรดเป็นฮาร์ดไดรฟ์ที่ใหญ่กว่า

แต่ฉันควรสร้างพาร์ติชั่นกี่พาร์ติชั่นเมื่อสร้างกล่องลีนุกซ์? ฉันควรตั้งค่าขนาดใดสำหรับแต่ละพาร์ติชัน

ในที่สุด แต่ไม่ท้ายสุดฉันควรแบ่งพาร์ติชั่นใดในดิสก์แยกต่างหาก (ฉันกำลังคิดถึง / home, / var บนไดรฟ์ที่เร็วกว่า ฯลฯ ) และพาร์ติชันใดที่ฉันสามารถแชร์ในไดรฟ์เดียวกันได้


1
คุณมีไดรฟ์กี่ตัว คุณคาดหวังว่าจำนวนที่เปลี่ยนไปเมื่อเวลาผ่านไป? นี่เป็นกล่องแบบใช้ครั้งเดียวหรือเป็นแบบทั่วไปหรือไม่? ผู้ใช้คนเดียวหรือหลายคน? ทุกสิ่งล้วนสำคัญ
pjz

คำถามนี้มีวัตถุประสงค์ทั่วไป แต่ยังสำหรับเซิร์ฟเวอร์
paulgreg

คำตอบ:


17

การวางแผนโครงสร้างการแบ่งพาร์ติชันที่ดีนั้นขึ้นอยู่กับการรู้ว่าคุณจะใช้ 'เซิร์ฟเวอร์' อย่างไร คำแนะนำแบบสุ่มใด ๆ ที่ไม่ได้ใช้บริการจริงที่จะให้จะไม่เป็นประโยชน์อย่างยิ่ง

ตัวอย่างเช่นถ้ามันเป็นกล่องที่ใช้เดเบียนที่จะใช้สำหรับ mysql คุณอาจต้องการพาร์ทิชันแยกต่างหากสำหรับ /, / var, และ / var / lib / mysql

มันจะเป็นไฟล์เซิร์ฟเวอร์ที่มีพื้นที่เก็บข้อมูลที่แชร์มากมายหรือไม่ คุณอาจต้องการพาร์ติชัน /, / home, และ / srv

สำหรับกล่องที่ใช้งานเฉพาะปลาหมึกคุณอาจต้องการพาร์ติชันสำหรับ / และหนึ่งพาร์ติชันในดิสก์ที่รวดเร็วสำหรับสปูลสควิด

ในขณะที่คุณกำลังวางแผนพาร์ติชันของคุณมันเป็นประโยชน์อย่างมากที่จะมีความเข้าใจที่ดีเกี่ยวกับมาตรฐานระบบไฟล์ของลำดับชั้นและถ้า / / วิธีที่คุณเลือก distro เบี่ยงเบนไปจากมาตรฐาน

การใช้LVMช่วยให้คุณเปลี่ยนใจได้ง่ายขึ้นในอนาคตและปรับพาร์ติชันของคุณโดยไม่ต้องรีบูตและความสามารถในการสร้างสแน็ปช็อตนั้นง่ายมากในการสร้างการสำรองข้อมูลที่ดี



คำตอบที่ยอดเยี่ยม .. ทั้งข้อเสนอแนะว่าโครงสร้างนั้นขึ้นอยู่กับการใช้งานตามวัตถุประสงค์และ LVM เป็นวิธีที่ดีในการไป
RickMeasham

ดูข้อมูลเพิ่มเติมเกี่ยวกับมูลค่าของการแบ่งพาร์ติชันได้ที่นี่ serverfault.com/questions/61284/sell-partitioning-to-me
Zoredache

ผมไม่ได้ทราบว่ามีเป็นระบบแฟ้มลำดับชั้นมาตรฐาน ขอบคุณที่พูดถึงมัน
Joe Internet

8

ฉันสร้างพาร์ทิชันเหล่านี้อยู่เสมอและเมื่อปีที่แล้วมักจะเป็น LVM:

/       - a few Gig
/usr    - 24 Gig and mostly empty
/var    - 4 Gig works for me, YMMV
/home   - depends on how many users you will have

หนึ่งในสิ่งที่สำคัญที่สุดคือ/var- ถ้าเป็นพาร์ติชั่นแยกต่างหากจากนั้นเมื่อเติมเต็มคุณจะไม่ทำให้พาร์ติชันรูทเสียหาย แม้ว่าฉันจะไม่เคยทำสิ่งนี้มาก่อน แต่บางคนแยกกัน/usrเพื่อให้พวกเขาสามารถเมานต์แบบอ่านอย่างเดียว

และบางครั้งฉันก็สร้างพาร์ทิชันเหล่านี้:

/boot   - even 1 Gig is way more than enough

เหตุผลคือไม่สามารถทำการบู๊ตจากพาร์ติชั่น RAID หรือ LVM ได้เสมอไป ดังนั้นจึง/bootสามารถเป็นพาร์ติชัน ext3 ที่เรียบง่ายช่วยให้/ขั้นสูงขึ้น

หากฉันจะมีไฟล์ขนาดใหญ่จำนวนมากบางครั้งฉันจะสร้างพาร์ติชันเฉพาะสำหรับไฟล์ขนาดใหญ่เหล่านี้เพื่อให้ระบบไฟล์สามารถปรับแต่งให้มีประสิทธิภาพในการจัดเก็บไฟล์ขนาดใหญ่ บางคนถ้าพวกเขาจะให้บริการ NFS จากเซิร์ฟเวอร์จะสร้างพาร์ติชันแยกต่างหากสำหรับการแบ่งปัน NFS ของพวกเขาหรือแม้แต่พาร์ติชันแยกต่างหากสำหรับการแบ่งปัน NFS แต่ละครั้ง ขึ้นอยู่กับความต้องการของคุณ

ทำไมต้อง LVM ดังที่ฉันได้กล่าวถึงคำตอบในที่อื่น แต่ลืมพูดถึงที่นี่มันทำให้เปลี่ยนใจได้ง่ายกว่ามากในภายหลังและขยายพาร์ติชัน สิ่งนี้ได้บันทึกก้นของฉันแล้ว

นี่เป็นแนวทางทั่วไป แน่นอนฉันคาดหวังว่าหากเซิร์ฟเวอร์ของคุณมีความต้องการพิเศษคุณจะต้องคำนึงถึงเรื่องนี้และทำให้พาร์ติชันสะท้อนความต้องการเหล่านี้


7

สมมติว่าคุณกำลังสร้างเครื่องจักรที่จะอยู่ได้ไม่นานจะไม่สะดวกในการสร้างใหม่และจำเป็นต้องมีความยืดหยุ่นที่ค่อนข้างสวยคุณอาจชอบรูปแบบที่คล้ายกับต่อไปนี้:

  1. ติดตั้งฟิสิคัลไดรฟ์ขั้นต่ำสองตัวซึ่งมีขนาดเท่ากัน สำหรับวัตถุประสงค์ของตัวอย่างนี้ฉันจะสมมติว่าไดรฟ์ SATA 500GB แต่หลักการทำงานได้ดีกับไดรฟ์ขนาดอื่น

  2. แบ่งพาร์ติชันแต่ละไดรฟ์ดังนี้:

    /dev/sda1   500MB
    /dev/sda2   100GB
    /dev/sda3   the rest
    

    เป้าหมายคือมีพาร์ติชั่นขนาด 500MB ด้านหน้าด้านหน้าพาร์ติชั่นขนาดใหญ่ที่อยู่ตรงกลางสำหรับระบบปฏิบัติการและแอพพลิเคชั่นและไดรฟ์ขนาดใหญ่ด้านหลังสำหรับข้อมูลเพิ่มเติม

  3. สร้าง SW RAID 1 ชุด/dev/md0จาก/dev/sda1และ/dev/sdb1; สร้าง SW RAID เพิ่มเติม 1 ชุด/dev/md1และ/dev/md2จากการพาร์ติชันที่เกี่ยวข้อง

  4. จัดรูปแบบ/dev/md0เป็น ext3; /bootนี้จะเป็น

  5. จัดรูปแบบ/dev/md1และ/dev/md2เป็นฟิสิคัลวอลุ่ม LVM

  6. สร้างกลุ่มปริมาณ LVM, ซึ่งประกอบด้วยvg_system/dev/md1

  7. สร้างปริมาณ LVM ที่เหมาะสมภายในvg_systemสำหรับพาร์ติชันระบบปฏิบัติการต่างๆ อย่างน้อยที่สุดคุณจะต้องการswap, /varคู่กิกะไบต์และ/10 กิกะไบต์หรือดังนั้น หมายเหตุ : อย่าจัดสรรทั้งหมดvg_system! เมื่อคุณตัดสินใจในภายหลังว่าคุณต้องการเพิ่มขนาด\varหรือคุณต้องการเพิ่ม /optหรืออะไรก็ตามคุณจะต้องการพื้นที่เพิ่มเติมนั้น

  8. สร้างกลุ่มปริมาณ LVM, ซึ่งประกอบด้วยvg_data/dev/md2

  9. สร้างปริมาณ LVM ภายในvg_dataตามต้องการ อย่างน้อยที่สุดคุณจะต้องมีขนาดที่ใหญ่มาก/homeและคุณอาจต้องการไดรฟ์ข้อมูลเพิ่มเติมเช่นพูดสปูลเมลฐานข้อมูลหรือเว็บรูทหรือข้อมูลอื่น ๆ ที่ไม่ได้เป็นส่วนหนึ่งของระบบปฏิบัติการ อีกครั้งอย่าจัดสรรทั้งหมดvg_dataด้วยเหตุผลที่คล้ายกับรายการด้านบน

ข้อดีของกลยุทธ์นี้ ได้แก่ :

  • ทนต่อความล้มเหลวของฮาร์ดแวร์ ไดรฟ์อาจล้มเหลวโดยไม่ทำให้ระบบล่มและหากคุณลงทุนในคอนโทรลเลอร์ hot-swap คุณสามารถกู้คืนได้โดยไม่ต้องหยุดทำงาน

  • มันเป็นหลักฐานในอนาคตและขยายได้; เมื่อคุณซื้อไดรฟ์ 2TB สองสามปีไปตามถนนคุณสามารถตบมันเข้าไปในเครื่องทำให้เป็น SW RAID อีกชุดจัดรูปแบบเป็นฟิสิคัลวอลุ่ม LVM เพิ่มเข้าไปในกลุ่มวอลุ่มที่ต้องการพื้นที่เพิ่มเติม (อาจlv_data) จากนั้น ใช้ pvmoveเพื่อย้ายข้อมูลของคุณออกจากไดรฟ์เก่าและไปยังใหม่ นอกจากนี้การอัปเดตระบบปฏิบัติการที่สำคัญสามารถแสดงผลได้อย่างเจ็บปวดน้อยลง หากคุณต้องการติดตั้งระบบปฏิบัติการใหม่เพื่ออัปเกรดที่สำคัญ (ahem Red Hat :() คุณสามารถทำได้ในขณะที่เก็บรักษาโฮมไดเรกทอรี (และเมลสปูลและสิ่งอื่น ๆ ที่คุณใส่ไว้vg_data)

ข้อเสียของกลยุทธ์นี้มีน้อย ฉันคิดว่ามันค่อนข้างซับซ้อนและคุณใช้ประสิทธิภาพในการเขียนเนื่องจาก RAID 1 อย่างไรก็ตามฉันได้สร้างเวิร์กสเตชันและเซิร์ฟเวอร์แบบสแตนด์อโลนตามหลักการเหล่านี้มาหลายปีแล้วและจากประสบการณ์ของฉันทุกครั้งที่ฉันไม่ได้ ไม่ต้องสร้างเครื่องจักรตามบรรทัดเหล่านี้ไม่นานฉันก็หวังว่า

สตีฟ

ป.ล. ฉันควรเพิ่มว่าถ้าคุณมีโครงสร้างพื้นฐานเพื่อให้สามารถจัดหาเครื่องใหม่ได้อย่างรวดเร็วและไม่เจ็บปวดระบบเช่นนี้จึงเกินกำลัง แทนที่จะทำการแก้ไขด้วยชุด RAID และ LVM เพียงสร้างเครื่องใหม่หากคุณต้องการอะไรที่เปลี่ยนแปลง


2

เป็นเวลาหลายปีที่คอมพิวเตอร์ทุกเครื่องที่ฉันเคยใช้เป็นระบบบูทสองระบบและในด้านลินุกซ์ฉันค่อนข้างติดอยู่กับสคีมานี้ (ฉันกำลังพูดถึงเวิร์คสเตชั่นส่วนตัวที่นี่ไม่มีเซิร์ฟเวอร์อะไรเลยดังนั้นระยะทางของคุณอาจแตกต่างกัน)

/     - main thing
/boot - not that relevant, since cylinder being < 1024 and 
        exotic filesystems are no longer an issue
/home - handy if you upgrade your laptop with each new distro :-)

สำหรับการอัพเกรดครั้งล่าสุดของฉันฉันได้ทำการติดตั้งตั้งแต่เริ่มต้นแล้วลบ/พาร์ทิชันของฉันออก นั่นทำให้ฉันคิดว่าการแยก/optหรือ/usr/localพาร์ติชั่นน่าจะดีช่วยประหยัดความยุ่งยากในการติดตั้งทุกอย่างที่ฉันใส่เข้าไปใหม่ (java, eclipse ... โดยปกติฉันไม่สนใจคนที่บรรจุกล่องดิสโก)


2

นอกเหนือจากพาร์ติชันที่กล่าวถึงโดย Eddie ฉันมักจะสร้างพาร์ติชันที่แยกต่างหากเพิ่มเติมสอง

/ tmp - ด้วยเหตุผลเดียวกับที่คุณสร้างพาร์ติชัน / var แยกต่างหาก (ฉันมีพื้นที่ชั่วคราวเต็มก่อน) ฉันมักจะไปกับ 1-2 GB

/ usr / local - สิ่งนี้ช่วยให้คุณสามารถอัพเกรดและทำความสะอาด / usr ได้ตามต้องการโดยไม่ต้องละทิ้งซอฟต์แวร์ที่ติดตั้งแยกต่างหาก ขนาดที่นี่ขึ้นอยู่กับจำนวนซอฟต์แวร์ภายนอกที่คุณติดตั้ง ปกติฉันจะไปด้วยประมาณ 10 GB แต่ฉันพบว่ามันเล็กไปหน่อยในวันนี้

ฉันมักจะทำ / home ล่าสุดและเติมส่วนที่เหลือของดิสก์ด้วย

ในพาร์ติชั่น / boot ฉันไม่เคยทำให้มันใหญ่กว่า 100 Mb และไม่เคยเจอปัญหาเรื่องพื้นที่ (ฉันล้างเมล็ดข้าวในที่สุด) มันอาจมีขนาดเล็กมาก

นอกจากนี้อย่าลืมสลับพาร์ติชั่นด้วย


1

สำหรับเครื่องจักรส่วนใหญ่ฉันจะทำ

100MB /boot
1GB * NUMBER_OF_USERS /home
10GB /var/log
10GB /var
REST /

ในบางกรณีจะต้องเปลี่ยน แต่ฉันค่อนข้างแน่วแน่เกี่ยวกับผู้ใช้ที่ไม่ได้รับพื้นที่มากกว่า 1GB บนเซิร์ฟเวอร์ หากพวกเขาต้องการมากขึ้นพวกเขาสามารถใช้ / tmp ด้วยความเข้าใจว่ามันจะถูกลบผ่าน cron ทุกคืน


1

สมมติว่าคุณไม่ได้ใช้ RAID ฮาร์ดแวร์ที่นั่น - ภายใต้ Linux ฉันมักจะใช้ LVM ด้านบนของ RAID แม้สำหรับการกำหนดค่าดิสก์เดียว เหตุผลที่คุณมีตัวเลือกในการเพิ่มพื้นที่เก็บข้อมูลเพิ่มเติม (โดยการขยายกลุ่ม LVM) หรือเปลี่ยนตัวเลือกความซ้ำซ้อน (พูดว่าการเปลี่ยนดิสก์เดี่ยว RAID1 "แปลก" หนึ่งไปเป็นมิร์เรอร์หนึ่งหรือแม้แต่ RAID10 ด้วยการยกของหนัก)

เพื่อตอบคำถามของคุณฉันมักจะมีสิ่งที่คล้ายกันนี้สำหรับเซิร์ฟเวอร์ทั่วไป เริ่มต้นด้วยดิสก์ 2 ตัว (พูด 1RU Dell) ทั้งคู่แบ่งเป็น:

  • ~ 100MB RAID1 สำหรับ / boot
  • LVM ที่ด้านบนของ RAID1 สำหรับดิสก์ที่เหลือ

จากนั้นเราสร้างโวลุ่มทั้งหมดเป็นโวลุ่ม LVM: * / * / var * / tmp * / home * / opt

ฉันจะหลีกเลี่ยงการสร้างระบบไฟล์มากเกินไปเพราะมันลำบากในการจัดการ หากคุณมีดิสก์เหลือน้อยคุณจะพบว่ามีพื้นที่ว่างในระบบไฟล์จำนวนมาก แต่ยังไม่เพียงพอสำหรับการทำงาน

/ home และ / tmp บนระบบไฟล์ที่แยกต่างหากเป็นความคิดที่ดีเสมอ โดยทั่วไปฉันจะไม่แยก / เลือกยกเว้นว่าฉันวางแผนที่จะใส่สิ่งต่างๆไว้ในนั้น (NFS อาจเป็นตัวเลือกที่ดีกว่าสำหรับ / opt หากคุณมีเซิร์ฟเวอร์จำนวนมากที่ต้องการซอฟต์แวร์สแต็กเดียวกัน)

กล่าวโดยย่อให้ใช้ LVM สำหรับทุกสิ่งเว้นแต่คุณจะมีเหตุผลที่จะไม่ทำเช่นนั้นคุณมีทางเลือกในการเปลี่ยนแปลง

นอกจากนี้ใช้เซิร์ฟเวอร์บันทึกเพื่อให้บันทึกจะไม่เติม / var ของคุณ!


0
  • / boot - 128MB

กลุ่มวอลุ่ม - rootvg

  • / var - 5GB (ขึ้นอยู่กับว่ามันใช้เป็นเซิร์ฟเวอร์เมลหรือไม่คุณยังสามารถปรับขนาดเพื่อดักจับไฟล์คอร์)
  • / tmp - 2GB
  • / opt - 10GB (ใช้สำหรับซอฟต์แวร์ที่ไม่ได้มาพร้อมกับ distro)
  • / - 6GB - ขั้นต่ำ

กลุ่มวอลุ่ม - datavg

  • / home - ส่วนที่เหลือ

คุณสามารถแยก / usr สำหรับซอฟต์แวร์ของคุณได้ แต่ในกรณีของฉันกล่องจะได้รับการติดตั้งใหม่ดังนั้นไม่จำเป็นต้องมีพาร์ติชันของตัวเอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.