Ext4 XFS-ის წინააღმდეგ – რომელი ფაილური სისტემა უნდა გამოიყენოთ

დავით მაჭახელიძე

Linux სისტემის მომხმარებლები თითქმის არ აქცევენ ყურადღებას საბაზისო ფაილურ სისტემას. ფაქტობრივად, Linux-ის ინსტალაციის დროს, ხშირად მიჰყვებიან ნაგულისხმევ ფაილურ სისტემას სხვა ხელმისაწვდომი ვარიანტების გაუცნობიერებლად. Windows-ისთვის საქმე ბევრად მარტივია, რადგან NTFS არის დომინანტური ფაილური სისტემა. Linux-ზე კი მრავალი ფაილური სისტემაა ხელმისაწვდომი. მათ შორისაა Ext4, XFS, ZFS და BTRFS.

ყველაზე ფართოდ გამოყენებადი ფაილური სისტემებია Ext4 და XFS, ამ უკანასკნელით, როგორც ნაგულისხმევი ფაილური სისტემით RHEL-ზე დაფუძნებულ დისტროებში, ხოლო Ext4 სტანდარტული ფაილური სისტემაა Debian-ისა და Ubuntu-ს დისტრიბუციებში. ფაილური სისტემის არჩევისას გასათვალისწინებელი ფაქტორები მოიცავს მასშტაბურობას, სტაბილურობას და მონაცემთა მთლიანობას.

ამ სახელმძღვანელოში ჩვენ ყურადღებას გავამახვილებთ Ext4 და XFS ფაილურ სისტემებზე და შევეცდებით გავიგოთ მათ შორის არსებული განსხვავებები.

Ext4 ფაილური სისტემა

Ext4 ფაილური სისტემა (Extended filesystem) არის Ext ფაილური სისტემების ოჯახის მეოთხე თაობა, რომლის წარმოშობა 1987 წელს წარმოდგენილ Minix ოპერაციულ სისტემასთან არის დაკავშირებული. Ext ფაილური სისტემა იყო პირველი ფაილური სისტემა, რომელმაც საფუძველი ჩაუყარა Linux-ის ბირთვს 1992 წელს. იგი გამოჩნდა 2008 წელს, Linux 2.6.28-თან ერთად, როგორც მისი წინამორბედის, ext3-ის მემკვიდრე.

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

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

  • მსხვილი ფაილების ზომის მხარდაჭერა – Ext4 მხარს უჭერს ერთ ფაილის ზომას 16 TiB-მდე (ტებიბაიტი), ხოლო XFS მხარს უჭერს მაქსიმალურ ფაილის ზომას 8 ექსბიბაიტამდე.
  • დაყოვნებული გამოყოფა ექსტენტის საფუძველზე ფაილების უფრო სწრაფი გამოყოფისთვის.
  • უკუ თავსებადობა – Ext4 ფაილური სისტემის გამოყენების კიდევ ერთი უპირატესობა მისი უკუ თავსებადობაა Ext3 და Ext2 სისტემებთან. ეს აუმჯობესებს შესრულებას და მოქნილობას, რადგან Ext4-ის ზოგიერთი ფუნქცია ასევე შეიძლება განხორციელდეს Ext3 და Ext2 ფაილურ სისტემებში. გარდა ამისა, Ext3 და Ext2 ფაილური სისტემები შეიძლება დამონტაჟდეს როგორც Ext4.
  • გამოყოფის გაუმჯობესებები – Ext4 ფაილური სისტემა უფრო ეფექტურად ანაწილებს შენახვის ბლოკებს დისკზე ჩაწერამდე. ეს მნიშვნელოვნად აუმჯობესებს წაკითხვისა და ჩაწერის შესრულებას.
  • ჟურნალის საკონტროლო ჯამები – Ext4 ფაილური სისტემა იყენებს საკონტროლო ჯამის ოფციას ფაილების დაზიანების რისკის შესამცირებლად. საკონტროლო ჯამის ოფცია ასრულებს ხშირ შემოწმებებს ბლოკის მოცულობაში შეცდომების გამოსავლენად. ამით მცირდება ჟურნალირების დრო და შესრულება მცირდება.
  • ფაილური სისტემის უფრო სწრაფი შემოწმება – ჟურნალის საკონტროლო ჯამების გარდა, Ext4 უზრუნველყოფს ფაილური სისტემის უფრო სწრაფ შემოწმებას. მაგალითად, fsck ბრძანება უფრო სწრაფად იმუშავებს და შედეგებს უფრო მოკლე დროში მოგვცემს Ext3 და Ext2-ის მსგავს ადრინდელ ვერსიებთან შედარებით.
  • გაუმჯობესებული დროის ნიშნულები – Ext4 ახორციელებს დროის ნიშნულებს ნანოწამებში, რაც გაუმჯობესებაა წამებზე დაფუძნებული დროის ნიშნულების მიმართ, რომლებიც არაადეკვატურად ითვლებოდა. გარდა ამისა, კიდევ 408 წელი დაემატა დროის ნიშნულს 2038 წლის შეზღუდული ლიმიტის მოსაგვარებლად.
  • ქვედირექტორიების შეუზღუდავი რაოდენობა – Ext4 ფაილური სისტემა არ აწესებს შეზღუდვას ქვედირექტორიების რაოდენობაზე, რომელთა შექმნა შესაძლებელია ერთ დირექტორიაში, გარდა თავად დირექტორიის ზომისა. Ext3-ში დირექტორიას შეიძლება ჰქონდეს მაქსიმუმ 32,000 ქვედირექტორია. Ext4-მა შემოიტანა HTreeindices ფუნქცია დირექტორიაში შესანახი ჩანაწერების რაოდენობის გასაზრდელად.
  • გამჭვირვალე დაშიფვრა – გამჭვირვალე დაშიფვრის მხარდაჭერა Ext4 ფაილური სისტემისთვის დაინერგა Linux-ის ბირთვის 4.1 ვერსიაში 2015 წლის ივნისში.

XFS ფაილური სისტემა

თავდაპირველად შექმნილი Silicon Graphics-ის მიერ 1993 წელს, XFS ფაილური სისტემა ამაყობს იმით, რომ არის სტაბილური და მაღალი წარმადობის 64-ბიტიანი ჟურნალირების ფაილური სისტემა. XFS ფაილური სისტემა აშენდა დიდი ფაილური სისტემების (18 ექსაბაიტამდე) და უკიდურესად დიდი ფაილების მხარდასაჭერად. ფაილური სისტემა განკუთვნილია სისტემებისთვის დიდი დისკების მასივებით, დიდი CPU-ებით და მათთვის, ვისაც დიდი ფაილების შენახვა სჭირდება.

XFS პოპულარობით ცნობილია I/O ნაკადების მაღალი მასშტაბურობის უზრუნველყოფით და დიდი ფაილების დამუშავების შესანიშნავი შესრულებით.

XFS ფაილური სისტემა არის ნაგულისხმევი ფაილური სისტემა RHEL-ში, CentOS-ში და სხვა RHEL-დისტროებში, როგორიცაა Oracle Linux, Rocky Linux და AlmaLinux.

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

  • უფრო დიდი ფაილური სისტემის მხარდაჭერა – XFS მხარს უჭერს ფაილური სისტემის ზომას 1 PiB-მდე, ხოლო Ext4 მხარს უჭერს 50 TiB-მდე. ფაილური სისტემის მხარდაჭერილი ზომა შეიძლება განსხვავდებოდეს Linux დისტრიბუციის ვერსიების მიხედვით.
  • დაყოვნებული გამოყოფა – იყენებს ზარმაცი შეფასების ტექნიკას ფაილების გამოყოფისთვის. ბლოკის გამოყოფა ხდება მხოლოდ მაშინ, როდესაც მონაცემები საბოლოოდ დისკზეა ჩაწერილი, რაც ხელს უწყობს ფრაგმენტაციის შემცირებას და შესრულების გაზრდას.
  • ონლაინ დეფრაგმენტაცია და ფაილური სისტემის გაზრდა
  • დახვეწილი მეტამონაცემების წინასწარი წაკითხვის ალგორითმები
  • მეტამონაცემების ჟურნალირება – მეტამონაცემების ჟურნალირება არის ფუნქცია, რომელიც უზრუნველყოფს ფაილური სისტემის თანმიმდევრულობას ელექტროენერგიის მოულოდნელი დაკარგვის ან სისტემის კრახის შემთხვევაში.
  • კვოტების ჟურნალირება – ეს გამორიცხავს კვოტების თანმიმდევრულობის ხანგრძლივი შემოწმების საჭიროებას სისტემის კრახის შემდეგ.
  • გაფართოებული ატრიბუტების მხარდაჭერა – ამან საშუალება მისცა სისტემას, თითოეულ ფაილთან დაკავშირებულიყო რამდენიმე დამატებითი სახელი/მნიშვნელობის წყვილი.
  • ონლაინ დეფრაგმენტაცია და ზრდა – ფაილური სისტემის დეფრაგმენტაცია და გაზრდა შესაძლებელია მაშინ, როდესაც ის დამონტაჟებულია და აქტიურია.
  • შენახვის მასშტაბურობა – XFS ფაილური სისტემა შთამბეჭდავ ძალისხმევას დებს დიდი ფაილური სისტემების, დიდი დირექტორიების და ფაილების უზარმაზარი მოცულობის მხარდასაჭერად ექსაბაიტებამდე.
  • დისკზე სივრცის ეფექტური მართვა – XFS ასევე უზრუნველყოფს მასშტაბურობას დისკზე სივრცის ეფექტური მართვისთვის B-ხის ინდექსირების წყალობით.
  • რეგულარული fsck არ არის საჭირო: XFS ტრადიციულად არ საჭიროებს fsck (ფაილური სისტემის შემოწმება) გამოყენებას კრახის შემდეგ, მისი ჟურნალირების მექანიზმის წყალობით, რომელიც უზრუნველყოფს ფაილური სისტემის თანმიმდევრულობას. თუმცა, ხელმისაწვდომია xfs_repair ინსტრუმენტი, თუ ფაილური სისტემა დაზიანდება და საჭიროებს შეკეთებას.

დასკვნა

მნიშვნელოვანი გადაწყვეტილებაა თქვენი აპლიკაციისთვის შესაბამისი ფაილური სისტემის არჩევა. გადაწყვეტილების მიღებისას გასათვალისწინებელია, რამდენად დიდი სერვერია, რა I/O დატვირთვას ელოდებით, გამტარობა და შეყოვნება, ფაილების ზომა, რამდენ ხანს შეიძლება აპლიკაციამ გაუძლოს შეფერხებას და სხვა.

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