banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix [Dịch] Partitioning in action, phần 1  XML
  [Question]   [Dịch] Partitioning in action, phần 1 23/02/2008 22:53:37 (+0700) | #1 | 116282
281
Elite Member

[Minus]    0    [Plus]
Joined: 27/05/2007 00:22:15
Messages: 228
Offline
[Profile] [PM]
Thông cáo: bản gốc của bài viết được công bố đầu tiên trên IBM developerWorks, và thuộc sở hữu của Westtech Information Services. Tài liệu dưới đây là bản cập nhật của bản gốc nói trên, và bao hàm thêm một số cải tiến được thực hiện bởi đội ngũ biên tập tài liệu Gentoo Linux. Tài liệu này hiện đang ở trạng thái không được cập nhật thường xuyên. 



Partitioning in action, phần 1:

Bản tiếng Anh: http://www.gentoo.org/doc/en/articles/partitioning-p1.xml
Tác giả: Daniel Robbins
Lần cập nhật cuối: 9/10/2005
Dịch: 281 – hvaonline.net



1. Di dời /home

Giới thiệu

Phân vùng /home là một trong những phân vùng thường xuyên được di dời nhất. Vì khi mà tất cả diện tích sử dụng dành cho /home trở nên khánh kiệt và việc lắp đặt thêm một ổ cứng khác là giải pháp cần thiết. Hoặc khi /home tọa lạc trên cùng phân vùng root, và nó cần được di dời để cải thiện năng suất (performance) hay giúp cho việc sao lưu dữ liệu (back up) trở nên dễ dàng hơn. Cho dù ở trường hợp nào đi nữa, tôi sẽ hướng dẫn các bạn di dời /home một cách an toàn và hiệu quả.

Cảnh báo: Thủ thuật sau đây sẽ mô tả cách di dời một hoặc nhiều phân vùng (partition). Mặc dù thủ thuật này được kiến tạo để giúp bạn thực hiện thành công việc di dời phân vùng, nhưng nó không đảm bảo cho người dùng tránh những rủi ro xảy ra. Nói một cách khác, bất cứ khi nào bạn định dạng (format) cho các phân vùng hoặc sao chép một lượng lớn hồ sơ (files), sẽ có khả năng bạn gõ sai chi tiết của câu lệnh, và điều này có thể dẫn đến một lượng lớn dữ liệu bị hủy hoại. Vì lý do đó, điều tối quan trọng là bạn hãy sao lưu tất cả những hồ sơ quan trọng trước khi thực hiện thủ thuật này.

Xem như giờ đây bạn đã sẵn sàng, chúng ta chuẩn bị để di chuyển /home. Những bước chính xác mà bạn sẽ thực hiện còn tùy thuộc vào vị trí hiện thời của /home, nó tọa lạc trên một phân vùng riêng rẽ hay nằm trên cùng phân vùng của root. Hãy ghi nhớ điều này khi chúng ta đi qua từng bước (Tôi sẽ ghi chú thêm khi cần thiết). Trong trường hợp bạn di dời /home sang một đĩa cứng mới, phải chắc rằng bạn đã lắp nó vào hệ thống.

Nếu bạn muốn dời /home sang một phân vùng sẵn có (không nhất thiết phải ở dạng ext2, miễn nó là phân vùng chính – primary – hoặc phân vùng mở rộng – extended), hãy nhảy sang bước 2.

Nếu cần thiết, hãy tạo một phân vùng mới

Nếu chưa có, bạn phải tạo một phân vùng mới bằng cách dùng công cụ cfdisk hoặc fdisk. Nếu phân vùng được tạo mới này không nằm trên ổ đĩa cứng đầu tiên của bạn, thì hãy nhớ đưa thêm tên của ổ làm tham số cho cfdisk hoặc fdisk. Sau khi đã tạo xong phân vùng chính hoặc mở rộng như ý, bạn nên khởi động lại để hệ thống cập nhật lại bảng phân vùng (partition table) cho chính xác. Đây cũng là lần duy nhất bạn cần phải khởi động lại hệ thống.

2. Thiết lập “filesystem” cho phân vùng mới

Để tạo “filesystem” cho phân vùng mới, trước tiên phải chắc rằng bạn biết chính xác tên của ổ đĩa chứa phân vùng mới này (ví dụ, /dev/sda5). Nếu không nắm rõ, hãy ngưng lại ngay và kiểm tra lại lần nữa. Sau đó gõ như sau với quyền root:

Code Listing 2.1: Tạo “filesystem”
# mkfs.ext2 /dev/???

Ở dòng trên và những dòng lệnh mẫu sau này, hãy thay “???” bằng tên của phân vùng đích. Sau khi chạy lệnh trên, phân vùng đích sẽ chứa “filesystem” dạng ext2 còn trống.

3. Mount “filesystem” mới vào thư mục /mnt

Tạo một thư mục với tên /mnt/newpart, sau đó mount phân vùng mới vào đây:

Code Listing 3.1: Mount phân vùng
# mount /dev/??? /mnt/newpart

4. Chuyển hệ thống sang chế độ người dùng đơn (single-user mode)

Tôi đã cố trì hoãn bước này càng lâu càng tốt để duy trì tối đa cho hệ thống hoạt động bình thường, nhưng giờ đây chúng ta buộc phải hạ hệ thống xuống chế độ người dùng đơn, nhằm sao chép các hồ sơ (files) từ /home sang /mnt/newpart. Hãy đóng tất cả các hồ sơ còn đang mở trong /home trước khi chuyển sang chế độ “single-user”.

Code Listing 4.1: Vào chế độ người dùng đơn
# init 1

Sau đó hãy nhập mật khẩu root để bắt đầu việc bảo trì hệ thống. Bây giờ bạn đang ở “shell” của root.

5. Chuyển vào thư mục /home và sao chép các hồ sơ.

Hãy gõ các lệnh sau:

Code Listing 5.1: Sao chép hồ sơ (files)
# cd /home
# cp -ax * /mnt/newpart


Lệnh cp -ax sẽ sao chép toàn bộ nội dung của /home sang /mnt/newpart, vẫn giữ nguyên tất cả những thuộc tính của hồ sơ mà không phá vỡ cấu trúc các “mount points”. Sau khi hoàn tất, /mnt/newpart sẽ chứa một bản sao như đúc tất cả các hồ sơ và thư mục hiện tại của /home. Nếu /home cũ nằm trên một phân vùng dành riêng cho nó (được liệt kê ở một dòng riêng trong hồ sơ /etc/fstab), hãy tiếp tục bước 6a. Nếu không phải thì hãy nhảy sang bước 6b.

6. Đưa phân vùng mới vào sử dụng

6a: /home nằm trên một phân vùng riêng

Ghi chú: Những hướng dẫn ở phần này chỉ dành cho những hệ thống có /home nằm trên phân vùng dành riêng cho nó. Nếu không đúng với trường hợp của bạn, hãy xem tiếp bước 6b.

Unmount phân vùng cũ bằng cách sử dụng lệnh sau:

Code Listing 6.1: Unmounting
# cd /
# umount /home


Kế đến unmount và remount phân vùng mới:

Code Listing 6.2: Remounting phân vùng mới
# umount /mnt/newpart
# umount /dev/??? /home


Bây giờ phân vùng mới đã có hiệu lực cho /home và đã sẵn sàng để sử dụng. Chúng ta có thể thi hành một vài bước cuối cùng ở chế độ đa người dùng (multiuser mode). Nhấn tổ hợp CTRL-D để thoát khỏi chế độ người dùng đơn và đưa hệ thống về tình trạng bình thường.

Quan trọng: Sau khi hệ thống chạy lại bình thường, hãy đăng nhập với tài khoản root và biên tập (edit) lại hồ sơ /etc/fstab, sao cho /dev/??? từ giờ trở đi tự động mount vào /home thay cho phân vùng cũ của bạn. Ví dụ, sửa dòng sau:

Code Listing 6.3: fstab cũ
/dev/hda3 /home ext2 defaults 1 2

thành dòng sau:

Code Listing 6.4: fstab mới
/dev/??? /home ext2 defaults 1 2

6b: /home chia sẻ một phân vùng với các thư mục khác


Ghi chú: Những hướng dẫn ở phần này chỉ dành cho hệ thống có /home nằm chung phân vùng với các thư mục khác.

Code Listing 6.5: Di chuyển thư mục
# cd /
# mv /home /home.old
# mkdir /home
# mount /dev/??? /home


Quan trọng: Bây giờ hãy thoát khỏi chế độ “single user” bằng tổ hợp CTRL-D. Sau khi hệ thống hoạt động lại bình thường, hãy biên tập hồ sơ /etc/fstab và thêm một dòng tương tự như sau:

Code Listing 6.6: Biên tập fstab
/dev/??? /home ext2 defaults 1 2

Bằng cách đó, phân vùng mới của bạn sẽ được mount chính xác vào lần khởi động kế tiếp.

7. Đoạn kết

Chúng ta đã thận trọng giữ lại thư mục(phân vùng) /home cũ, đề phòng bất trắc xảy ra trong khi sao chép dữ liệu. Sau khi đã thẩm tra chắc chắn hệ thống hoạt động trơn tru, bạn có thể hoặc dùng phân vùng /home cũ này cho mục đích khác, hoặc có thể xóa hẳn thư mục /home.old.

Xin chúc mừng, bạn đã di dời thành công /home. Ở thủ thuật kế tiếp, chúng ta sẽ cấu trúc lại hệ thống sao cho /tmp/var nằm chung với nhau trên một phân vùng. Hẹn gặp lại.

Đôi điều về tác giả

Daniel Robbins sinh sống tại Albuquerque, New Mexico. Ông là chủ tịch và CEO của Gentoo Technologies Inc, là thiết kế sư trưởng của Gentoo Project và là tác giả của nhiều quyển sách được phát hành bởi MacMillan: Caldera OpenLinux Unleashed, SuSE Linux Unleashed và Samba Unleashed.
Daniel thích dành nhiều thời gian bên vợ, Mary và cô con gái nhỏ, Hadassah. Các bạn có thể liên hệ với Daniel qua hòm thư: drobbins@gentoo.org.

Berlin, 22.02.2008
281 (BMT)
hvaonline.net

[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|