gentoo 3

Gentoo Logo

[ << ] [ < ] [ Về đầu ] [ > ] [ >> ]

4. Chuẩn bị đĩa

Nội dung:

* Giới thiệu Block Device

* Thiết kế mô hình phân vùng

* Phân hoạch đĩa cứng bằng fdisk

* Tạo các hệ tập tin

* Mount (Gắn kết)

4.a. Giới thiệu Block Device

Thiết bị khối - Block Device

Hãy tìm hiểu các quan niệm về đĩa của Gentoo Linux và Linux nói chung, bao gồm các loại hệ tập tin Linux, phân vùng và block device. Khi bạn đã quen với đĩa và hệ tập tin, bạn sẽ được hướng dẫn cách thiết lập phân vùng và hệ tập tin cho Gentoo Linux.

Để bắt đầu, chúng tôi sẽ giới thiệu block device. Block device nổi tiếng nhất có lẽ là cái đại diện cho ổ đĩa IDE thứ nhất trong hệ thống, tên là /dev/hda. Nếu hệ thống của bạn dùng đĩa SCSI hoặc SATA, ổ đĩa đầu tiên của bạn sẽ là /dev/sda.

Các block device kể trên được dùng để giao tiếp với đĩa. Các chương trình có thể dùng các block device này để thao tác với đĩa mà không cần biết đĩa bạn là IDE, SCSI hay cái gì khác. Chương trình chỉ cần xem đĩa như một loạt các khối liên tục,mỗi khối 512 byte, có thể truy cập ngẫu nhiên.

Phân vùng - Partition

Mặc dù theo lý thuyết chúng ta có thể sử dụng toàn bộ đĩa cứng làm một vùng để chứa hệ thống Linux, Tuy nhiên trong thực tế thì không bao giờ sử dụng như vậy, thay vào đó, ổ đĩa cứng sẽ được chia thành các thiết bị khối nhỏ hơn, dễ quản lý hơn. Trên hệ thống x86, chúng được gọi là các phân vùng - partition.

Phân vùng được chia thành ba loại: primary (nguyên thủy), extended (mở rộng) và logical (luận lý).

Phân vùng primary là phân vùng mà thông tin của nó được lưu trong MBR (master boot record). Do MBR rất nhỏ (512 byte) nên chỉ có thể chứa bốn phân vùng primary (ví dụ, /dev/hda1 đến /dev/hda4).

Phân vùng extended là phân vùng primary đặc biệt (nghĩa là phân vùng extended là một trong bốn phân vùng primary) chứa các phân vùng khác bên trong. Lẽ ra phân vùng extended không tồn tại, nhưng vì bốn phân vùng là quá ít, nên phân vùng loại này xuất hiện để tăng số lượng phân vùng mà vẫn giữ tính tương thích.

Phân vùng luận lý là phân vùng nằm bên trong phân vùng mở rộng. Các thông số xác định phân vùng luận lý không được lưu trong MBR mà thay vào đó chúng được khai báo trong phân vùng mở rộng.

Lưu trữ cao cấp

Các CD Cài đặt x86 còn hỗ trợ EVMS và LVM2. EVMS và LVM2 tăng cường tính uyển chuyển trong cách phân vùng. Tài liệu này chỉ đề cập đến những cách phân vùng "bình thường", nhưng lưu ý rằng EVMS và LVM2 vẫn được hỗ trợ.

4.b. Thiết kế mô hình phân vùng

Mô hình phân vùng mặc định

Nếu bạn không thích tự xác định mô hình phân vùng cho hệ thống của mình, bạn có thể dùng mô hình phân vùng chúng tôi dùng trong tài liệu này:

Phân vùng Loại hệ tập tin Kích thước Mô tả

/dev/hda1 ext2 32M Phân vùng khởi động

/dev/hda2 (swap) 512M Phân vùng swap

/dev/hda3 ext3 Phần đĩa còn lại Phân vùng gốc

Nếu bạn quan tâm đến kích cỡ nên dùng cho phân vùng, hoặc số lượng phân vùng, hãy đọc tiếp. Nếu không, bạn có thể tiếp tục phân vùng đĩa bạn với Dùng fdisk để phân vùng đĩa.

Bao nhiêu và bao lớn?

Số lượng phân vùng phụ thuộc nhiều vào môi trường của bạn. Ví dụ, nếu bạn có rất nhiều người dùng, bạn sẽ muốn dùng một phân vùng riêng cho /home để tăng cường an ninh và dễ sao lưu. Nếu bạn cài đặt Gentoo làm mail server, bạn nên dùng phân vùng riêng cho /var vì thư từ được lưu trong /var. Một lựa chọn hệ tập tin đúng sẽ tăng cường hiệu năng của hệ thống. Game server thường dùng phân vùng riêng cho /opt vì hầu hết các game server được cài vào đây. Lý do tách riêng phân vùng cũng tương tự như với /home: an toàn và sao lưu. Bạn chắc chắn sẽ cần một /usr to: nó không chỉ chứa một lượng lớn các ứng dụng, cây Portage chiếm gần 500 MB, không tính mà nguồn cũng được lưu trong đó.

Như bạn thấy, nó phụ thuộc rất nhiều vào mục đích của bạn. Phân vùng/volume rời có những ưu điểm sau:

* Bạn có thể chọn loại hệ tập tin thích hợp nhất cho phân vùng/volume của bạn

* Toàn hệ thống không thể nào hết vùng lưu trữ nếu như một công cụ hư hỏng nào đó cứ liên tục ghi vào phân vùng/volume

* Nếu cần thiết, có thể tiết kiệm thời gian khi kiểm tra hệ tập tin, vì nhiều hệ tập tin có thể được kiểm tra đồng thời (mặc dù đây là ưu điểm khi có nhiều đĩa hơn là khi dùng nhiều phân vùng)

* Tăng cường an ninh bằng cách gắn kết các phân vùng dạng chỉ-đọc, nosuid (bỏ qua bit setuid), noexec (không thực thi).

Tuy nhiên, dùng nhiều phân vùng có một bất lợi lớn: nếu cấu hình không đúng, bạn có thể có một hệ thống quá dư đĩa ở một phân vùng và thiếu đĩa trên phân vùng khác. Ngoài ra còn có giới hạn 15 phân vùng trên SCSI và SATA.

Sau đây là một ví dụ phân vùng, chúng tôi có một đĩa 20GB, dùng trên laptop (chứa webserver, mailserver, gnome, ...):

Mã 2.1: Ví dụ minh họa phân vùng

$ df -h

Filesystem Type Size Used Avail Use% Mounted on

/dev/hda5 ext3 509M 132M 351M 28% /

/dev/hda2 ext3 5.0G 3.0G 1.8G 63% /home

/dev/hda7 ext3 7.9G 6.2G 1.3G 83% /usr

/dev/hda8 ext3 1011M 483M 477M 51% /opt

/dev/hda9 ext3 2.0G 607M 1.3G 32% /var

/dev/hda1 ext2 51M 17M 31M 36% /boot

/dev/hda6 swap 516M 12M 504M 2% <not mounted>

(Vùng trống chưa phân vùng để dùng về sau: 2 GB)

/usr khá đầy (đã dùng 83%), nhưng mọi phần mềm đã được cài đặt, /usr không có khuynh hướng tăng nhiều. Mặc dù cấp vài gigabyte cho /var có thể hơi quá, nhưng nhớ rằng Portage mặc định dùng phân vùng này để biên dịch các phần mềm. Nếu bạn cấp phát ở mức chấp nhận được, như 1GB, bạn sẽ cần điều chỉnh biến PORTAGE_TMPDIR trong /etc/make.conf sang một vùng rộng hơn để biên dịch những chương trình cực lớn như OpenOffice.

4.c. Phân hoạch đĩa cứng bằng fdisk

Những phần sau giải thích cách tạo mô hình phân vùng đĩa ví dụ được mô tả trước đây, bao gồm:

Phân vùng Mô tả

/dev/hda1 Phân vùng khởi động

/dev/hda2 Phân vùng Swap

/dev/hda3 Phân vùng gốc

Hãy thay đổi mô hình theo ý bạn.

Xem mô hình phân vùng hiện thời

fdisk là một công cụ mạnh và phổ dụng dùng để chia đĩa thành các phân vùng. Hãy chạy fdisk trên đĩa của bạn (trong ví dụ là /dev/hda):

Mã 3.1: Chạy fdisk

# fdisk /dev/hda

Sau khi đã vào fdisk, bạn sẽ được chào đóng bằng một dấu nhắc như sau:

Mã 3.2: Dấu nhắc fdisk

Command (m for help):

Hãy gõ p để hiển thị cấu hình phân vùng đĩa hiện thời:

Mã 3.3: Ví dụ cấu hình phân vùng đĩa

Command (m for help): p

Disk /dev/hda: 240 heads, 63 sectors, 2184 cylinders

Units = cylinders of 15120 * 512 bytes

Device Boot Start End Blocks Id System

/dev/hda1 1 14 105808+ 83 Linux

/dev/hda2 15 49 264600 82 Linux swap

/dev/hda3 50 70 158760 83 Linux

/dev/hda4 71 2184 15981840 5 Extended

/dev/hda5 71 209 1050808+ 83 Linux

/dev/hda6 210 348 1050808+ 83 Linux

/dev/hda7 349 626 2101648+ 83 Linux

/dev/hda8 627 904 2101648+ 83 Linux

/dev/hda9 905 2184 9676768+ 83 Linux

Command (m for help):

Đĩa này được cấu hình để chứa bảy hệ tập tin (mỗi cái tương ứng với một phân vùng được hiển thị là "Linux") và một phân vùng swap (hiển thị là "Linux swap").

Xóa mọi phân vùng

Trước hết chúng ta sẽ xóa mọi phân vùng khỏi đĩa. Hãy nhập d để xóa một phân vùng. Ví dụ, để xóa /dev/hda1:

Mã 3.4: Xóa phân vùng

Command (m for help): d

Partition number (1-4): 1

Phân vùng đã được lên kế hoạch xóa. Nó sẽ không còn hiện lên khi bạn gõ p, nhưng nó sẽ chưa bị xóa chừng nào bạn chưa lưu lại các thiết lập của mình. Nếu bạn phạm sai lầm hoặc muốn ngừng không lưu, hãy gõ q ngay lập tức và nhấn Enter, các phân vùng của bạn sẽ không bị xóa.

Giờ giả định rằng bạn thực sự muốn xóa mọi phân vùng trên đĩa, hãy lặp đi lặp lại p để xem mô hình và d kèm số của phân vùng cần xóa. Sau cùng, bạn sẽ kết thúc khi bảng phân vùng chẳng còn gì trong đó:

Mã 3.5: Bảng phân vùng rỗng

Disk /dev/hda: 30.0 GB, 30005821440 bytes

240 heads, 63 sectors/track, 3876 cylinders

Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot Start End Blocks Id System

Command (m for help):

Giờ bảng-phân-vùng-trong-bộ-nhớ đã rỗng, chúng ta đã sẵn sàng để tạo phân vùng mới. Chúng ta sẽ dùng mô hình phân vùng mặc định đã đề cập trước đây. Dĩ nhiên, đừng tuân theo những chỉ dẫn này từng chữ một nếu bạn không muốn tạo ra cùng một mô hình phân vùng như vậy!

Tạo phân vùng khởi động

Đầu tiên chúng ta tạo phân vùng khởi động (boot). Hãy gõ n để tạo phân vùng primary, theo sau là 1 để chọn phân vùng primary đầu tiên. Khi được hỏi cylinder đầu tiên, hãy nhấn enter. Khi được hỏi cylinder cuối cùng, hãy nhập +32M để tạo phân vùng có kích thước 32 Mbyte:

Mã 3.6: Tạo phân vùng boot

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-3876, default 1): (Nhấn Enter)

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M

Giờ hãy gõ p, bạn sẽ thấy như sau:

Mã 3.7: Phân vùng boot đã tạo

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes

240 heads, 63 sectors/track, 3876 cylinders

Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot Start End Blocks Id System

/dev/hda1 1 14 105808+ 83 Linux

Chúng ta cần đánh dấu phân vùng này là có thể khởi động. Hãy gõ a để bật/tắt cờ bootable trên phân vùng và chọn 1. Nếu bạn nhấn p lần nữa, bạn sẽ để ý thấy dấu * nằm trong cột "Boot".

Tạo phân vùng Swap

Nào hãy tạo phân vùng swap. Để thực hiện, hãy gõ n để tạo phân vùng mới, gõ p để cho fdisk biết bạn muốn tạo phân vùng primary. Sau đó gõ 2 để tạo phân vùng primary thứ hai, /dev/hda2 trong trường hợp này. Khi được hỏi cylinder đầu tiên, hãy nhấn enter. Khi được hỏi cylinder cuối cùng, nhấn +512M để tạo phân vùng 512MB. Sau khi hoàn thành, hãy gõ t để đặt kiểu phân vùng, 2 để chọn phân vùng vừa mới tạo và gõ 82 để đặt loại phân vùng là "Linux Swap". Sau khi hoàn tất những bước này, hãy gõ p, bảng phân vùng sẽ tương tự như sau:

Mã 3.8: Bảng phân vùng sau khi tạo phân vùng swap

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes

240 heads, 63 sectors/track, 3876 cylinders

Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot Start End Blocks Id System

/dev/hda1 * 1 14 105808+ 83 Linux

/dev/hda2 15 81 506520 82 Linux swap

Hãy tạo và kích hoạt swap bằng những lệnh trên.

Tạo phân vùng gốc

Sau cùng, hãy tạo phân vùng gốc. Để thực hiện, hãy gõ n để tạo phân vùng mới, sau đó p để tạo phân vùng primary. Nhập 3 để tạo phân vùng primary thứ ba, /dev/hda3. Nhấn enter khi được hỏi cylinder đầu tiên. Nhấn enter khi được hỏi cylinder cuối cùng để sử dụng toàn bộ vùng đĩa còn lại. Sau khi hoàn tất, hãy gõ p và bạn sẽ thấy bảng phân vùng tương tự như sau:

Mã 3.9: Bảng phân vùng sau khi tạo phân vùng gốc

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes

240 heads, 63 sectors/track, 3876 cylinders

Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot Start End Blocks Id System

/dev/hda1 * 1 14 105808+ 83 Linux

/dev/hda2 15 81 506520 82 Linux swap

/dev/hda3 82 3876 28690200 83 Linux

Lưu mô hình phân vùng

Để lưu mô hình phân vùng và thoát fdisk, hãy gõ w.

Mã 3.10: Lưu và thoát fdisk

Command (m for help): w

Bây giờ bạn đã tạo xong phân vùng, hãy tiếp tục với Tạo các hệ tập tin.

4.d. Tạo các hệ tập tin

Giới thiệu

Sau khi đã tạo phân vùng, bạn cần cài hệ tập tin lên đó. Nếu bạn không quan tâm loại hệ tập tin cần chọn và sẵn sàng dùng loại hệ tập tin mặc định như trong sách này thì bạn có thể tiếp tục với Cài hệ tập tin lên phân vùng. Nếu không hãy đọc tiếp để tìm hiểu về những loại phân vùng được hỗ trợ...

Loại hệ tập tin?

Linux kernel hỗ trợ nhiều loại hệ tập tin khác nhau. Chúng tôi sẽ trình bày ext2, ext3, ReiserFS, XFS và JFS vì đây là những hệ tập tin thông dụng nhất trên Linux.

ext2 là hệ tập tin cho Linux, nhưng nó không có metadata journaling, nghĩa là việc kiểm tra hệ tập tin lúc khởi động có thể tốn nhiều thời gian. Có nhiều hệ tập tin mới hơn với tính năng journal để chọn lựa, tốn ít thời gian kiểm tra hơn so với những loại không có tính năng journal. Các hệ tập tin journal giúp tránh đợi lâu lúc khởi động khi hệ tập tin bạn không ổn định.

ext3 là phiên bản ext2 với tính năng journal, giúp phục hồi nhanh kèm theo những đặc điểm khác của tính năng journal như full data, ordered data journaling. ext3 là một lựa chọn tốt và an toàn. Nó còn có tùy chọn hashed b-tree index giúp tăng hiệu năng trong hầu hết trường hợp. Bạn có thể bật index bằng cách thêm -O dir_index vào lệnh mke2fs. Nói tóm lại, ext3 là một lựa chọn xuất sắc.

ReiserFS là hệ tập tin dựa trên B*-tree có hiệu năng tốt và vượt xa cả ext2 và ext3 khi xử lý các tập tin nhỏ (nhỏ hơn 4k), thường vượt gấp 10-15 lần. ReiserFS còn hoạt động tốt trong nhiều điều kiện khác nhau và hỗ trợ metada journal. Với các kernel 2.4.18 trở đi, ReiserFS là lựa chọn tốt để sử dụng hằng ngày cũng như những trường hợp cực kỳ như các hệ tập tin lớn, hệ tập tin chứa nhiều tập tin nhỏ, những tập tin cực lớn và thư mục chứa hàng ngàn tập tin.

XFS là hệ tập tin hỗ trợ metadata journal và một tập tin năng mạnh mẽ, được tối ưu để thích hợp với nhiều điều kiện khác nhau. Chúng tôi chỉ khuyến khích dùng loại hệ tập tin này trên Linux với hệ thống SCSI và/hoặc fibre channel kèm bộ nguồn bảo đảm không bị ngắt. Vì XFS cache in-transit data trong bộ nhớ một cách đáng kể, những chương trình không được thiết kế phù hợp (những chương trình không để ý các phòng ngừa khi ghi tập tin vào đĩa - có vài chương trình như vậy) có thể làm mất một lượng dữ liệu lớn nếu hệ thống bị ngừng đột ngột.

JFS hệ tập tin hiệu suất cao hỗ trợ journal của IBM. Không có đủ các báo cáo tích cực cũng như tiêu cực về tính ổn định của nó vào thời điểm này.

Cài hệ tập tin lên phân vùng

Để tạo hệ tập tin trên phân vùng hoặc volume, cần có các công cụ cho mỗi loại hệ tập tin:

Hệ tập tin Lệnh tạo

ext2 mke2fs

ext3 mke2fs -j

reiserfs mkreiserfs

xfs mkfs.xfs

jfs mkfs.jfs

Ví dụ, để định dạng phân vùng boot (/dev/hda1 trong ví dụ này) dùng loại ext2 và phân vùng gốc (/dev/hda3 trong ví dụ này) dùng loại ext3 (như trong ví dụ), bạn dùng:

Mã 4.1: Cài hệ tập tin lên phân vùng

# mke2fs /dev/hda1

# mke2fs -j /dev/hda3

Bây giờ tạo hệ tập tin cho những phân vùng của bạn (hoặc các logical volume).

Kích hoạt phân vùng Swap

mkswap là lệnh để khởi tạo phân vùng swap:

Mã 4.2: Khởi tạo phân vùng Swap

# mkswap /dev/hda2

Để kích hoạt sử dụng phân vùng swap, dùng swapon:

Mã 4.3: Kích hoạt phân vùng swap

# swapon /dev/hda2

Giờ hãy tạo và kích hoạt phân vùng swap của bạn.

4.e. Mount (Gắn kết)

Các phân vùng của bạn đã được tạo và định dạng xong. Giờ là lúc để gắn các phân vùng này vào hệ thống. Hãy dùng lệnh mount. Đừng quên tạo những thư mục mount cần thiết trước khi mount các phân vùng bạn đã tạo vào. Như trong ví dụ, chúng tôi sẽ mount phân vùng gốc và phân vùng boot:

Mã 5.1: Mount các phân vùng

# mount /dev/hda3 /mnt/gentoo

# mkdir /mnt/gentoo/boot

# mount /dev/hda1 /mnt/gentoo/boot

Ghi chú: Nếu bạn muốn /tmp nằm trên một phân vùng riêng, hãy đảm bảo quyền truy cập của nó sau khi mount: chmod 1777 /mnt/gentoo/tmp. Điều này cũng cần được thực hiện với /var/tmp.

Chúng ta cũng sẽ mount hệ tập tin proc (một hệ tập tin ảo để giao tiếp với kernel) vào /proc. Nhưng trước hết hãy cho các tập tin vào phân vùng.

Hãy tiếp tục với Cài đặt các tập tin cài đặt Gentoo.

[ << ] [ < ] [ Về đầu ] [ > ] [ >> ]

Tài liệu này sử dụng giấy phép Creative Commons - Attribution / Share Alike.

Bản in

View all

Cập nhật 16 Tháng hai 2006

The original version of this document was last updated January 9, 2009

Tóm tắt: Để cài đặt Gentoo, bạn phải tạo các phân vùng đĩa cần thiết. Chương này mô tả cách phân vùng đĩa để sử dụng về sau.

Sven Vermeulen

Author

Roy Marples

Author

Daniel Robbins

Author

Chris Houser

Author

Jerry Alexandratos

Author

Seemant Kulleen

Gentoo x86 Developer

Tavis Ormandy

Gentoo Alpha Developer

Jason Huebel

Gentoo AMD64 Developer

Guy Martin

Gentoo HPPA developer

Pieter Van den Abeele

Gentoo PPC developer

Joe Kallar

Gentoo SPARC developer

John P. Davis

Editor

Pierre-Henri Jondot

Editor

Eric Stockbridge

Editor

Rajiv Manglani

Editor

Jungmin Seo

Editor

Stoyan Zhekov

Editor

Jared Hudson

Editor

Colin Morey

Editor

Jorge Paulo

Editor

Carl Anderson

Editor

Jon Portnoy

Editor

Zack Gilburd

Editor

Jack Morgan

Editor

Benny Chuang

Editor

Erwin

Editor

Joshua Kinard

Editor

Tobias Scherbaum

Editor

Xavier Neys

Editor

Grant Goodyear

Reviewer

Gerald J. Normandin Jr.

Reviewer

Donnie Berkholz

Reviewer

Ken Nowack

Reviewer

Lars Weiler

Contributor

Nguyễn Thái Ngọc Duy

Translator

Donate to support our development efforts.

Support OSL

Gentoo Centric Hosting: vr.org

Tek Alchemy

SevenL.net

Global Netoptex Inc.

Bytemark

Online Kredit Index

Copyright 2001-2009 Gentoo Foundation, Inc. Questions, Comments? Contact us.

Bạn đang đọc truyện trên: TruyenTop.Vip

Tags: #gentoo