თქვენ ამჟამად იყენებთ სტუმრის სტატუსს (შესვლა)

მყარი დისკის პარტიცირება (Partitioning)

განურჩევლად მყარი დისკის ტიპისა (PATA, SATA, SCSI და სხვა) საჭიროა მათი მომზადება იმისათვის, რომ შემდგომ მოხდეს ოპერაციული სისტემის ინსტალაცია. მყარ დისკზე აუცილებელია გარკვეული ადგილების (პარტიციების) გამოყოფა, იმისათვის რომ მივუთითოთ თუ სად იქნება განთავსებული ოპერაციული სისტემა და მომხმარებლის მიერ შენახული ინფორმაცია. თუ თქვენ იყენებთ ისეთ კომპიუტერს, რომელზეც ლინუქსი უკვე დაინსტალირებულია, ასეთ შემთხვევაში დისკის პარტიცირება არ არის აუცილებელი, რადგან მისი პარტიცირება მოხდა ინსტალაციის დროს. თუმცა ახალი სისტემის ინსტალაციისთვის ან მყარი დისკის განახლებისთვის ადრე თუ გვიან დაგვჭირდება დისკის პარტიცირება, ამიტომ ამ საკითხის ცოდნა მნიშვნელოვანია სისტემის ადმინისტრატორისთვის.

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

მყარი დისკის პარტიცირებას გააჩნია რამოდენიმე უპირატესობა, მათ შორის:

  • რამოდენიმე ოპერაციული სისტემის მხარდაჭერა – პარტიცირება უზრუნველყოფს სხვადასხვა ოპერაციული სისტემის ფაილების და მონაცემების შენახვას ერთმანეთისგან დამოუკიდებლად. რადგან სხვადასხვა ოპერაციული სისტემები იყენებენ სხვადასხვა ფაილურ სისტემებს, მათი მონაცემების მოთავსება ერთ პარტიციაზე შეუძლებელია. ამიტომ თუ თქვენ გეგმავთ სხვადასხვა ოპერაციული სისტემის გამოყენებას ერთ და იგივე კომპიუტერზე, აუცილებელია ამ კომპიუტერის მყარი დისკის დაყოფა პარტიციებად.
  • განსხვავებული ფაილური სისტემის მხარდაჭერა – პარტიციებად დაყოფა გვაძლევს მყარი დისკის სხვადასხვა ნაწილების განსხვავებული ფაილური სისტემით ფორმატირების საშუალებას. ფაილური სისტემა განსაზღვრავს მყარ დისკზე მონაცემების შენახვის მეთოდს, რომელიც განსხვავდება საკუთარი თვისებებით. მაგალითად, ერთი ფაილური სისტემა შეიძლება იყოს უფრო სწრაფი მონაცემების ჩაწერა/წაკითხვის თვალსაზრისით და უფრო მოსახერხებელი ისეთი მონაცემებისთვის, რომლებისთვისაც დაყოვნება კრიტიკულია ან რომელთა გამოძახება უფრო ხშირად ხდება სისტემი მიერ. ზოგიერთ შემთხვევაში კი საჭიროა ისეთი ფაილური სისტემის გამოყენება, რომელსაც მონაცემების აღრიცხვის და აღდგენის ფუნქცია გააჩნია.
  • დისკის მოცულობის მართვა – დისკის პარტიცირებით შესაძლებელია განსაზღვრული ფაილების გარკვეულ ჩარჩოებში ჩასმა, რაც თავიდან აგვაცილებს ისეთ პრობლემას, როგორიც არის მყარი დისკის მოცულობის გადავსება. მაგალითად, თუ ლინუქს სისტემის მომხმარებლებს ექნებათ საკუთარი ფაილების კონკრეტული მოცულობის მქონე პარტიციაზე ჩაწერის უფლება, ამ პარტიციის მოცულობის გადავსებით მყარ დისკზე მაინც დარჩება გარკვეული თავისუფალი ადგილი სხვა პარტიციების სახით, რაც სისტემას მუშაობის გაგრძელების საშუალებას მისცემს. თუმცა პარტიციების არასწორად შერჩეული მოცულობები შეიძლება დამატებითი პრობლემა გახდეს. ამიტომ მნიშვნელოვანია მყარ დისკზე პარტიცირების შექმნის სწორად დაგეგმვა.
  • შეცდომებისგან დაცვა – ხანდახან დისკზე წარმოიქმნება სხვადასხვა ტიპის შეცდომები, რომლებიც შესაძლოა განპირობებული იყოს როგორც აპარატურული, ასევე ფაილური სისტემის დაზიანებით. ასეთი პრობლემის წარმოქმნისას, თუ მყარი დისკი დაყოფილია პარტიციებად, ერთ პარტიციის ფაილურ სისტემაში არსებული პრობლემები შეეხება მხოლოდ ამ პარტიციაზე განთავსებულ ფაილებს, რაც თავის მხრივ იცავს სხვა პარტიციებზე შენახულ ინფორმაციას და ამარტივებს აღდგენის პროცესს.
  • უსაფრთხოება – შესაძლებელია სხვადასხვა უფლებების და შეზღუდვების გამოყენება ამა თუ იმ პარტიციაზე წვდომისას. მაგალითად: თუ ადმინისტრატორს სჭირდება გარკვეული მონაცემების დაცვა წაშლის ან დაზიანებისგან ისე, რომ ეს მონაცემები ხელმისაწვდომი დარჩეს მომხმარებლებისთვის, შესაძლებელია შესაბამისი პარტიციის, რომელზეც განთავსებულია აღნიშნული მონაცამები, მიბმა სისტემაზე მხოლოდ წაკითხვის უფლებებით (ჩაწერის ან რედაქტირების უფლების გარეშე).
  • სარეზერვო ასლის შენახვა – იმისათვის, რომ მყარ დისკზე შენახული ინფორმაცია დაცული იყოს, აუცილებელია ამ ინფორმაციის სარეზერვო ასლის შენახვა (Backup). სარეზერვო ასლის შექმნისას, რეზერვირების დრო განპირობებული იქნება პარტიციის მოცულობით. მცირე ზომის პარტიციის რეზერვირებისთვის უფრო ნაკლები დრო იქნება საჭირე, ვიდრე დიდი ზომის პარტიციებისთვის.
პრაქტიკაში, ლუნუქსზე მომუშავე კომპიუტერები იყენებენ რამოდენიმე პარტიციას. თუმცა რაოდენობა და პარტიციის ტიპი ყოველთვის ერთნაირი არ არის. ეს დამოკიდებულია იმ სისტემის დანიშნულებაზე, რომელსაც ემსახურება მოცემული ფიზიკური მანქანა.

დისკის პარტიციების ტიპი

80–იან წლებში, როდესაც მყარი დისკის მოცულობა არ აღემატებოდა 10 MB-ს, მისი დაყოფა მრავალ პარტიციად არ იყო აქტუალური. ამიტომ x86 არქიტექტურაში მყარი დისკის დაყოფა შესაძლებელი იყო მაქსიმუმ 4 პარტიციად: Primary 1, Primary 2, Primary 3 და Primary 4. ზოგიერთი ოპერაციული სისტემის ჩატვირთვა აუცილებლად ხდებოდა Primary პარტიციიდან. თუმცა ლინუქს ასეთი შეზღუდვა არ გააჩნია, მაგრამ რამოდენიმე, ან თუნდაც ყველა პარტიციისთვის დაყოფის Primary მეთოდის გამოყენება მიღებული პრაქტიკაა.
მყარი დისკების მოცულობის ზრდასთან ერთად წამოიჭრა მათი 4–ზე მეტ ნაწილად დაყოფის საკითხი. ამ პრობლემის გადასაჭრელად ისე, რომ შენარჩუნებულიყო x86 არქიტექტურასთან თავსებადობა, შეიქმნა გაფაროებული (extended) პარტიცირების მეთოდი, რომელშიც ერთ–ერთი Primary პარტიცია შეიცავს საკუთარ მოცულობაში პარტიციების შეუზღუდავ რაოდენობას. ასეთ პარტიციას ეწოდება გაფართოებული (Extended) პარტიცია და მასში შექმნილ პარტიციებს ეწოდება ლოგიკური (Logical) პარტიციები. როგორც უკვე ავღნიშნეთ ლოგიკური პარტიციების რაოდენობა შეზღუდული არ არის. უბრალოდ, რადგან ეს პარტიციები იქმნება ერთი გაფართოებული პარტიციის ფარგლებში, მათი შექმნა უნდა მოხდეს ერთმანეთის თანმიმდევრობით.
2.7 სურათზე ნაჩვენებია მყარი დისკის დაყოფის ორი მაგალითი, თუმცა პარტიციების კომბინაცია სხვადასხვა სისტემებზე შესაძლოა განსვავებული იყოს.

სურ. 2.7

ლინუქსში მყარი დისკების იდენტიფიცირება ხდება ლათინური ასოებით (a,b,c…). მაგალითად, თუ კომპიუტერში ინტეგრირებულია ორი SATA მყარი დისკი, პირველი დისკი განსაზღვრული იქნება როგორც /dev/sda და მეორე დისკი იქნება /dev/sdb. მყარ დისკზე შექმნილი Primary და Extended პარტიციები კი განისაზღვრება 1–დან 4–მდე რიცხვებით. მაგალითად: პირველი დისკის მეორე Primary პარტიცია განსაზღვრული იქნება როგორც /dev/sda2, ხოლო მეორე მყარი დისკის მე–4 Primary პარტიცია – /dev/sdb4. ეს რიცხვები ფიქსირებულია Primary პარტიციებისთვის და არ არის აუცილებელი, რომ პარტიციები დანომრილი იყოს თანმიმდევრულად. მაგალითად: მყარ დისკზე შეიძლება არსებობდეს /dev/sda1 და /dev/sda3, მაგრამ არ იყოს შექმნილი /dev/sda2 და /dev/sda4.

ლოგიკურ პარტიციებს ენიჭებათ რიცხვები 5–დან ზევით (მაგ. /dev/sda5 და /dev/sdb5). ეს რიცხვები ლოგიკურ პარტიციებს ენიშნებათ თანმიმდევრულად და რომელიმე რიცხვის გამოტოვება არ შეიძლება. მაგალითად: თუ მყარ დისკზე არსებობს /dev/sda6 პარტიცია, ეს იმას ნიშნავს, რომ ამავე დისკზე უკვე შექმნილია /dev/sda5 პარტიციაც.

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

გარდა აღნიშნული კლასიფიცირების მეთოდისა, ასევე არსებობს პარტიციების ტიპების კლასის განსაზღვრის კიდევ ერთი მეთოდი. x86 პარტიციების ცხრილს გააჩნია ტიპის კოდის მხარდაჭერა, რომელიც წარმოდგება ორ ციფრიანი თექვსმეტობით ფორმატში ჩაწერილი რიცხვის სახით, რომელსაც მინიჭებული აქვს კონკრეტული ფუნქცია. მაგალითად, 0x06 რეზერვირებულია გარკვეული ტიპის File Allocation Table (FAT) პარტიციისთვის, 0x82 განსაზღვრავს ლინუქსის swap პარტიციას და 0x83 განსაზღვრავს ლინუქსის ფაილური სისტემის პარტიციას. ზოგიერთი ოპერაციული სისტემა (მაგ. Windows) აღნიშნული ტიპის კოდების მიხედვით განსაზღვრავს, თუ რომელ პარტიციაზე შეუძლია მას წვდომა. შესაბამისად ასეთი ოპერაციული სისტემა იგნორირებას უკეთებს ლინუქსის ტიპის პარტიციებს. ლინუქსის შემთხვევაში პარტიციის ტიპის კოდს დიდი მნიშვნელობა არ აქვს, ამიტომ ლინუქსში შესაძლებელია ნებისმიერი ტიპის პარტიციის მიბმა და ამ პარტიციიდან ფაილების წაკითხვა. თუმცა გარკვეულ შემთხვევებში აღნიშნული ტიპის კოდები მნიშვნელოვანია ლინუსქსის სხვადასხვა დისტრიბუტივისთვის. მაგალითად: ინსტალაციის დროს ლინუქსი ამ ტიპის კოდით ხვდება თუ როგორ არის დაკონფიგურირებული სისტემა. ასევე ლინუქსი აქცევს ყურადღებას 0x05 და 0x0f ტიპის კოდებს, რომლებიც განსაზღვრავენ გაფართოებულ (Extended) პარტიციას.

მყარი დისკის პარტიციების ცხრილის ნახვა და ცვლილებების შეტანა შესაძლებელია სპეციალური ინსტრუმენტით – fdisk. ასევე არსებობს პარტიცირების ალტერნატიული მეთოდი – Logical Volume Management (LVM). იმისათვის, რომ გამოიყენოთ LVM, საჭიროა ერთი ან რამოდენიმე ფიზიკური მოცულობის განსაზღვრა და მათთვის 0x8e კოდის მინიჭება. შემდეგ სპეციალური ინსტრუმენტების, როგორიცაა pvcreate, vgcreate, lvcreate და lvscan გამოყენებით ხდება პარტიციების (ამ სქემაში ფიზიკური მოცულობების – Physical Volumes) მართვა, ანუ მოცულობების ჯგუფში გაერთიანება და ამ ჯგუფებში ლოგიკური მოცულობების განსაზღვრა. აღნიშნულ ლოგიკურ მოცულობებთან წვდომა შესაძლებელია მათთვის განსაზღვრული სახელების გამოყენებით /dev/mapper დირექტორიაში (მაგ. /dev/mapper/myvolume-home).

მიბმის წერტილი (Mount points)

მყარი დისკის პარტიციებად დაყოფის შემდეგ, ოპერაციულ სისტემას უნდა ქონდეს ამ პარტიციებზე შენახულ ინფორმაციასთან წვდომის საშუალება. DOS–ში და Windows–ში ამის გაკეთება შესაძლებელია თითოეული პარტიციისთვის შესაბამისი ლათინური ასოს მინიჭებით, როგორიცაა C: ან D:. ლინუქსში კი ამ მეთოდის ნაცვლად გამოყენებულია დირექტორიების ერთიანი ხე. აღნიშნულ ხეში თითოეული პარტიცია მიბმულია შესაბამის მიბმის წერტილზე. მიბმის წერტილი არის დირექტორია, რომელიც გამოყენებულია პარტიციის ფაილურ სისტემაზე წვდომისთვის. მიბმის წერტილი წარმოადგენს ბმულს, რომლის მეშვეობითაც შესაძლებელია პარტიციაზე არსებულ სხვა დირექტორიებზე გადასვლა.

მაგალითისთვის წარმოვიდგინოთ, რომ მყარ დისკზე არის შექმნილი 3 პარტიცია: root „/“, /home და /usr პარტიციები. „/“ პარტიციაზე ყოველთვის განთავსებულია სისტემური ფაილები, დანარჩენი პარტიციები კი ხელმისაწვდომი ხდება შესაბამისი დირექტორიის მეშვეობით. თუ მაგალითად სისტემას გააჩნია ორი მომხმარებელი user1 და user2 და მათი საწყისი დირექტორიები განთავსებულია /home პარტიციაზე, აღნიშნული დირექტორიები ხელმისაწვდომი იქნება /home/user1 და /home/user2 სახით, თუ ისინი მიბმული იქნება /home დირექტორიაზე. თუ მოუხსნით (unmount) მიბმის წერტილს ზევით აღნიშნულ მომხმარებლის დირექტორიებს და ხელმეორედ მოახდენთ მათ მიბმას (mount) /usr დირექტორიაზე, ეს დირექტორიები ხელმისაწვდომი იქნება უკვე როგორც /usr/user1 და /usr/user2.

ლინუქსში მიბმის წერტილად შეგვიძლია გამოვიყენოთ ნებისმიერი დირექტორია, მათ შორის დირექტორიები root “/” პარტიციაზე და ასევე რომელიმე დირექტორიაზე უკვე მიბმულ პარტიციაზე არსებული ნებისმიერი დირექტორია. მაგალითად, თუ /home არის ცალკე პარტიცია, შესაძლებელია სისტმაში არსებობდეს /home/otherhomes დირექტორიები, რომლებიც წარმოადგენენ სხვა პარტიციების მიბმის წერტილს.