1. Trang chủ
  2. » Luận Văn - Báo Cáo

đồ án cách thay đổi size của các partitions trong linux gparted & lvm

30 526 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 1,68 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cách thay đổi size của các phân vùngPartitions trong linux có rất nhiều chương trình để quản lý partion, trong phần này chỉ trình bày 2 cách để quản lý partion đó là Gparted & LVM 1/ Dùn

Trang 1

Welcome ISPACE.EDU.VN

ĐỀ TÀI:

Giáo viên hướng dẫn :

Sinh viên thực hiện :

Tìm Hiểu Cách Thay Đổi Size Của Các Partitions Trong Linux (Dùng Gparted & LVM)

Trang 2

Cách thay đổi size của các phân vùng

(Partitions) trong linux

(có rất nhiều chương trình để quản lý partion, trong phần này chỉ trình bày 2 cách để quản lý partion đó

là Gparted & LVM)

1/ Dùng Gparted

Đôi nét về các tính năng chính của chương trình

GParted cho phép bạn dễ dàng quản lý các phân vùng đĩa cứng của bạn:

 Tạo ra các bảng phân vùng (ví dụ, msdos hoặc gpt)

 Tạo, di chuyển, sao chép, thay đổi kích thước, kiểm tra, nhãn, thiết lập UUID mới, và xóa các phân vùng

Trang 3

 Kích hoạt và vô hiệu hóa lá cờ phân vùng, (ví dụ như, khởi động hoặc ẩn)

 Sắp xếp phân vùng để mebibyte (MiB) hoặc ranh giới truyền thống xi lanh

 Cố gắng cứu dữ liệu từ phân vùng bị mất

GParted làm việc với các thiết bị lưu trữ như sau:

 Ổ đĩa cứng (ví dụ, SATA, IDE, SCSI và)

 Các thiết bị bộ nhớ flash, chẳng hạn như thẻ nhớ USB và Solid State Drives (SSD)

 Thiết bị RAID (RAID phần cứng, bo mạch chủ BIOS RAID, và phần mềm Linux RAID)

 Mọi quy mô khu vực (ví dụ, các thiết bị với 512, 1024, 2048, 4096 ngành byte và nhiều hơn nữa)

GParted hỗ trợ các hành động sau trên hệ thống tập tin:

Phát triển

Thu nhỏ

Di chuyển

Bản sao

Kiểm tra

Nhã

Phần mềm cần thiết

BitLocker

[2]

[10 ] btrfs công cụ

Trang 4

Ta có thể khởi động vào GParted Live CD bằng đĩa CD hoặc USB

Thao tác như bên dưới

Trang 5

Nhấn Enter

Trang 6

Sau đó ta sẽ được nhắc nhở để chọn ngôn ngữ, nhấn enter mặc định là tiếng Anh.

Trang 7

Tiếp theo chúng ta chọn tùy chọn mặc định 0 bằng cách nhấn vào, chúng ta sẽ làm việc với giao diện đồ họa.

Trang 8

Một khi hoàn tất, chúng ta sẽ được trình bày với giao diện đồ họa với GParted đã được mở, nếu nó chưa được mở, ta có thể chọn nó từ biểu tượng trên Desktop.

Trang 9

Chọn / dev/sda2 và nhấp vào "Resize / Move" và bạn sẽ được trình bày với những điều sau đây.

Trang 10

Về cơ bản bạn chỉ cần kéo mũi tên màu đen của / dev/sda2 tất cả các cách để kết thúc không gian chưa phân bổ và nhấn vào nút Resize / Move.

Sau khi làm điều này, bạn sẽ thấy / dev/sda2 (đại diện bởi các hộp màu xanh) chia ra các không gian chưa phân bổ

Sự thay đổi này và tất cả các thay đổi hơn nữa sẽ chưa được áp dụng, ta có thể thấy nhiệm vụ xuống dưới cùng của giao diện GParted và chúng sẽ chỉ được áp dụng khi ta

Trang 11

nhấn vào nút Apply Hoặc ta có thể nhấn vào nút Undo để loại bỏ một sự thay đổi chưa giải quyết.

Lúc này, ta chọn / dev/sda5 là phân vùng trao đổi và chọn Resize / Move, điều này sẽ cho kết quả như sau

Thời gian này thay vì mở rộng phân vùng, ta chỉ cần di chuyển hoán đổi tất cả các cách để kết thúc không gian / dev/sda2 , điều này được thực hiện bằng cách chỉ cần kéo hộp đến cuối mà sau đó sẽ như thế này

Nhấp vào nút Resize / Move và sau đó là một cảnh báo có thể xuất hiện thông báo cho

ta rằng di chuyển một phân vùng có thể gây ra cho hệ điều hành của ta không khởi

Trang 12

động được Nó cũng cảnh báo rằng thực hiện trạng thái này có thể mất một thời gian dài để áp dụng, đọc cảnh báo sau đó nhấn OK để tiếp tục.

GUI bây giờ sẽ trông giống như hình ảnh dưới đây, nơi / dev/sda1 nằm ngay bên cạnh/ dev/sda2 trong đó có các không gian chưa phân bổ

Chọn dev/sda2 mở rộng phân vùng / và chọn Resize / Move

Trang 13

Kéo này về bên phải để chỉ những không gian trao đổi được chứa và không gian chưa được màu xám được giải phóng, chọn Resize / Move khi hoàn thành.

Một khi điều này là hoàn thành ổ đĩa sẽ như thế này

Bây giờ chúng ta có / dev/sda1 bên cạnh không gian chưa được phân bổ, vì vậy sẽ mở rộng phân vùng / dev/sda1 Chọn / dev/sda1 và nhấp vào nút Resize / Move

Trang 14

Ta sẽ có thể thực hiện hành động này ngay lập tức nếu ta không có trao đổi ở giữa / dev/sda1 và không gian chưa phân bổ, các bước trước đó đã có được hoán đổi ra khỏi con đường trong GParted.

Kéo mũi tên lên trên để các không gian chưa được phân bổ bởi / dev/sda1 như hình dưới đây, sau đó bấm Resize / Move

Một khi điều này được thực hiện phân vùng / dev/sda1 bây giờ sẽ được sử dụng khônggian chưa phân bổ Tất cả những gì còn lại để làm là nhấn vào nút áp dụng để áp dụngcác thay đổi – Khi đó ta sẽ được nhắc nhở để xác nhận với một cảnh báo rằng việc mất dữ liệu có thể xảy ra

Trang 15

Lưu ý rằng điều này có thể mất một thời gian tùy thuộc vào có bao nhiêu đĩa hiện đang sử dụng và dung lượng ổ đĩa của ta đang gia tăng, vì việc kiểm tra hệ thống tập tin (fsck) được chạy trước khi mở rộng và sau đó để đảm bảo rằng không có vấn

đề Mình đã thực hiện phương pháp này trên một máy chủ 400GB trong quá khứ và đểtăng nó 100GB mất khoảng 5 giờ Trong ví dụ này ta chỉ tăng 10GB và chỉ có khoảng 1gb của dữ liệu trên đĩa vì vậy điều này mất khoảng 2 phút để hoàn thành

Mọi thứ bây giờ là hoàn tất,chúng ta chỉ cần khởi động lại máy ảo và sau đó khởi động từ đĩa CD, cách khác tắt máy ảo và tháo gắn đĩa CD trực tiếp và sau đó mở nó trở lại

Một khi hệ điều hành khởi động, ta có thể nhận thấy rằng không gian đĩa đã được mở rộng một cách chính xác Dưới đây ta có thể thấy rằng / dev/sda1 giờ là 30GB trong kích thước

Trang 16

2/ Dùng LVM (Logical Volume Management)

LVM là phương pháp cho phép ấn định không gian đĩa cứng thành những logical

volume giúp cho việc thay đổi kích thước trở nên dễ dàng hơn so với partition Với kỹthuật LVM ta có thể thay đổi kích thước mà không cần thay đổi partition table của

OS, điều này thực sự hữu ích khi ta đã dùng hết phần bộ nhớ còn trống của partition

Trang 17

và muốn mở rộng dung lượng của nó Trước khi thực hiện giải pháp này ta nên dành títhời gian để tìm hiểu các khái niệm cơ bản sau.

PHYSICAL VOLUME: là một cách gọi khác của partition trong kỹ thuật LVM, nó

là những thành phần cơ bản của LVM một physical volume không thể mở rộng ra ngoài phạm vi một ổ đĩa

LOGICAL VOLUME GROUP: nhiều physical volume trên các ổ đĩa khác nhau

được kết hợ lại thành một logical volume group với LVM logical volume group đượcxem như là một đĩa ảo

LOGICAL VOLUMES: một logical volume group được chia thành nhiều logical

volume mỗi logical volume có ý nghĩa tương tự như một partition nó được dùng cho các mount point và được format với những định dạng khác nhau như ext2, ext3 khi dung lượng logical volume sử dụng hết ta có thể đưa thêm ổ đĩa mới bổ sung cho logical volume group và do đó tăng được dung lượng của logical volume

PHYSICAL EXTENT: là đại lượng thể hiện một khối đơn vị tính dung lượng của

Linux LVM là một trình quản lí storage device theo 3 lớp từ thấp đến cao là:

Trang 18

Physical Volume: đây chính là các partition thông thường nhưng trong ngôn

ngữ LVM thì được gọi là Physical Volume (PV) Ngoài ra một PV có thể là: một partition thông thường, một RAID device, một sparse file (một file dung lượng lớn, chứa toàn các số 0 giả làm partition để lưu dữ liệu)

Volume Group: nhiều PV khi được ghép lại với nhau tạo thành một Volume

Group (VG) Dung lượng của VG bằng tổng dung lượng của các PV thành phần Các PV thành phần có thể thuộc cùng một HDD hoặc thuộc nhiều HDD khác nhau Có thể thêm vào hoặc loại đi một PV từ VG

Logical Volume: mỗi VG lại được chia thành một hoặc nhiều Logical Volume

(LV) Có thể resize các LV một cách dễ dàng và snapshot chúng

Trong ngôn ngữ LVM không còn partition nữa, tất cả là volume:

physical/group/logical volume

Một số công cụ của LVM:

VG vgcreate vgs vgdislpay vgremove vgextend

Bước 1:Chuẩn bị các partition có filesystem là LVM bằng fdisk

o Tạo partition LVM từ HDD Ví dụ với /dev/sdb: fdisk /dev/sdb

Trang 19

Tạo một primary partition chiếm toàn bộ disk: n, p, 1, enter,

enter

Chuyển kiểu partition thành Linux LVM (kiểu 8e): t, 8e

Lưu lại partition table và thoát khỏi fdisk: w

o Lặp lại các thao tác trên với các HDD còn lại để cuối cùng thu được các partition /dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/sde1 với filesystem là Linux LVM

o Tương tự như với các partition truyền thống sau bước fdisk để chọn filesystem ext2, vfat, … là bước mkfs để format theo filesystem đã chọn,các LVM partition cũng cần “format” nhưng không phải bằng lệnh mkfs

mà bằng lệnh pvcreate

Bước 2:Từ mỗi LVM partition tạo một PV

o Tạo PV bằng lệnh: pvcreate

pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

o Kiểm tra lại 4 PV vừa tạo bằng lệnh xem thông tin về PV: pvs

PV VG Fmt Attr PSize PFree […]

/dev/sdb1 lvm2 1016.00M 1016.00M /dev/sdc1 lvm2 1016.00M 1016.00M /dev/sdd1 lvm2 1019.53M 1019.53M /dev/sde1 lvm2 1019.53M 1019.53M […]

Bước 3:Tạo VG từ các PV

o Tạo VG TotalStorage từ các PV sdb1, sdc1, sdd1, sde1 bằng lệnh

vgcreate vgcreate TotalStorage /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

Trang 20

sau bước này xuất hiện thêm thư mục /dev/TotalStorage

o Kiểm tra lại VG vừa tạo bằng lệnh xem thông tin về VG: vgs

VG #PV #LV #SN Attr VSize Vfree

Sau bước này có thêm các file device /dev/TotalStorage/Softwares,

/dev/TotalStorage/Music, /dev/TotalStorage/Data

 Tham số [Path_PV] để chỉ rõ ra LV được tạo từ PV nào

Ví dụ: lvcreate -n Softwares -L 1.4G TotalStorage /dev/sdb1

Tham số này có ích khi LV gồm nhiều hơn một PV Khi hệ thống gặp sự cố một PV nào đó bị hỏng, nếu PV này không tham gia tạo LV thì LV không bị ảnh hưởng

o Tham số -s quyết định đến dung lượng tối đa của LV (xem giải thích ở mục sau) Mặc định size LE là 4MB và dung lượng LV tối đa là 256 GB.Nếu muốn hơn để size LE là 16 MB và max LV là hơn 1TB

Kiểm tra lại LV vừa tạo bằng lệnh xem thông tin về LV: lvs

Trang 21

LV VG Attr LSize Origin Snap% Move Copy%

[…]

Music TotalStorage -wi-a- 1.00G

Data TotalStorage -wi-a- 1.20G

Softwares TotalStorage -wi-a- 1.40G

[…]

Chú ý: Khi thực hiện các lệnh pvcreate, vgcreate, lvcreate có thể có thông báo liên

quan đến CD chăng hạn: “/dev/cdrom: open failed: read-only file system” Lí do là trước khi thực hiện các lệnh tạo này tất cả các block device được scan qua và ở đây

CD drive đã được scan (nhưng không thể đọc được)

Để có thể sử dụng LVM cần cài đặt công cụ LVM và activate các volume

Thường thì LVM đã builtin sẵn vào Linux kernel rồi nên sau khi tạo các volume PV,

VG, LV bạn cứ thế sử dụng, không phải làm gì thêm cả

Nếu chưa thì phải build lại kernel hoặc cài LVM như một kernel module Trong trường hợp thứ hai:

 cài đặt công cụ LVM

Trang 22

thêm 2 lệnh vgscan, vgchange -ay vào /etc/rc.d/rc.sysinit để activate các

volume lúc Linux khởi động

(nếu cẩn thận thì thêm lệnh vgchange -an vào /etc/rc.d/init.d/halt để disable

các volume lúc tắt máy)

LVM on RAID (chưa xong)

Có thể tạo một PV từ một RAID array từ đó xây dựng nên các LV vừa có khả năng phục hồi dữ liệu sau thảm họa đồng thời việc quản lí lại rất linh hoạt Thông thường người ta thiết lập LVM trên RAID1

(Không thể làm việc ngược lại là tạo ra RAID array trên một LV hơn nữa điều này cũng không thu được lợi ích gì hơn.)

2 Xem thông tin về volume

Khái niệm PE, LE

Khái niệm PE, LE cũng tương tự như khái niệm block (sector) của HDD Mỗi PV được chia thành các phần tử nhỏ (extent) gọi là Physical Extent (PE) mặc định là 4

MB VG là tập hợp các PE LV được tạo ra trên VG cũng được chia thành các phần tửnhỏ hơn gọi là Logical Extent (LE) Địa chỉ LE được map (ánh xạ) vào địa chỉ PE Cách ánh xạ là linear (tuyến tính) hay stripe (kẻ sọc) sẽ quyết định đến tốc độ đọc/ghi

dữ liệu trên LV

Mặc định lvcreate chọn linear mapping Nếu muốn dùng stripe mapping, chẳng hạn

với 2 stripe, 4KB cho mỗi stripe: lvcreate -i2 -I4 -n Softwares -L 1.4G TotalStorage

Trang 23

(ảnh lấy từ: http://www.redhat.com/magazine/009jul05/features/lvm2/)

Hình trên là linear, hình dưới là stripe Ở cả hai hình PV ở trên, LV ở dưới

Địa chỉ của PE, LE được lưu trong một số bit giới hạn do đó số PE, LE là giới hạn và kích thước của PV, LV là giới hạn Muốn có PV, LV có kích thước lớn thì phải tăng kích thước PE, LE

Xem thông tin bằng pvdisplay, vgdisplay, lvdisplay

Ngoài lệnh pvs, vgs, lvs hiển thị vắn tắt còn có lệnh pv/vg/lvdisplay hiển thị chi tiết các thuộc tính của PV/VG/LV, bao gồm:

 name, size, UUID (ID được sinh ngẫu nhiên) của volume

 trạng thái của volume

 thông tin về PE, LE: size, total, free, used (allocated)

 …

Trang 24

Có thể đặt lại các thuộc tính của volume thông qua lệnh pv/vg/lvchange.

Dưới đây giải thích một số trường thông tin của lệnh pvdisplay, vgdisplay, lvdisplay cho bài toán nêu ban đầu

PV size: nếu PV đã được dùng để tạo VG thì ngoài con số size còn có “not usable”

để thể hiện PV này không thể dùng để tạo ra một VG khác nữa

Khi PV chưa được dùng để tạo VG thì nó có tiêu đề “ -NEW Physical volume -”

Trang 25

Cur LV: số LV được tạo ra từ VG này.

Cur PV: số PV đã tạo nên VG này;

Trang 26

Act PV: số PV đang hoạt động Có những PV tuy trong VG nhưng chưa được dùng đểtạo ra LV

Trang 27

thống đang hoạt động, người dùng cắm nóng một HDD có chứa VG trên đó vào hệ thống thì thông tin về VG này chưa được cập nhật, lúc đó cần chạy vgscan để tìm ra tất cả các VG trên hệ thống và cập nhật lại thông tin về các VG.

Việc chạy pvscan, vgscan, lvscan chỉ cần thiết khi có thay đổi về hardware; còn khi bạn thực thi các lệnh create, remove, … thì thông tin về các volume được tự động cập nhật nên không cần phải chạy các lệnh scan volume nữa

3 Quản lý các volume

Disable/Remove volume

Để hủy bỏ (xóa) một LV, VG, PV dùng lệnh lv/vg/pvremove Cần đảm bảo trước khi

hủy bỏ LV/VG/PV: LV được umount/ không có LV trên VG/ không có VG trên PV

Nếu không muốn hủy bỏ hẳn volume mà chỉ disable các volum tức là làm cho kernel

không nhận ra được voluem đó thì dùng lệnh lv/vg/pvchange -an Tham số -an có

nghĩa là available no

Thêm vào/Rút ra/Hoán chuyển PV

Đưa thêm một PV vào một VG, dùng lệnh: vgextend , thật đơn giản !

Nhưng rút một PV khỏi một VG bằng lệnh: vgreduce thì có thể gặp vấn đề PV đó đang chứa dữ liệu, may thay có lệnh pvmove Giả sử cần rút ra PV /dev/sdb1

 Nếu VG còn thừa PE đủ để chuyển toàn bộ PV /dev/sdb1 sang chỗ PE thừa đó:

# pvmove /dev/sdb1

pvmove moving physical extents in active volume group "dev"

pvmove WARNING: moving of active logical volumes may cause data loss!

pvmove do you want to continue? [y/n] y

Trang 28

pvmove 249 extents of physical volume "/dev/sdb1" successfully moved

 Nếu VG không còn đủ PE thì phải đưa thêm một PV vào (giả sử là /dev/sdf1)

và chuyển toàn bộ PV /dev/sdb1 sang PV mới này:

# pvmove /dev/sdb1 /dev/sdf1

pvmove moving physical extents in active volume group "dev"

pvmove WARNING: moving of active logical volumes may cause data loss!pvmove do you want to continue? [y/n] y

pvmove 249 extents of physical volume "/dev/sdb1" successfully moved

Sau bước trên mới có thể rút PV /dev/sdb1 ra bằng lệnh vgreduce

(1) đặt lại kích thước cho volume

(2) resize filesystem trên volume đó bằng lệnh chẳng hạn resize2fs

Giảm dung lượng LV: resize2fs trước rồi lvreduce sau

Ví dụ: giảm LV Data ở bài toán trên xuống còn 1G (10485760 block)

resize2fs /dev/TotalStorage/Data 10485760

lvreduce –L 1G /dev/TotalStorage/Data

Tăng dung lượng LV: lvextend trước rồi reszie2fs sau

Trang 29

Ví dụ: tăng LV Softwares ở bài toán trên thêm 0.2 GB:

lvextend –L +0.2G /dev/TotalStorage/Softwares

resize2fs /dev/TotalStorage/Softwares

Nhận xét: Nếu Softwares là partition thường thì không thể tăng dung lượng của nó

lên được do không có phần trống nào sau nó Như vậy resize LV linh hoạt hơn resize partition thường

Một điều đáng kinh ngạc rằng lvreduce và lvextend có thể làm việc trong khi LV vẫn đang được sử dụng Tuy nhiên công cụ resize2fs không resize filesystem lúc nó đang làm việc được nên trước khi resize LV cần phải umount LV Nếu dùng những công cụ

có khả năng resize online như ext2online thì có thể dùng được tính năng này của LVM

Với VG cũng có lệnh vgextend, vgreduce nhưng ý nghĩa của nó là thêm/bớt PV.

Ngày đăng: 14/07/2014, 12:10

HÌNH ẢNH LIÊN QUAN

Hình trên là linear, hình dưới là stripe. Ở cả hai hình PV ở trên, LV ở dưới. - đồ án cách thay đổi size của các partitions trong linux gparted & lvm
Hình tr ên là linear, hình dưới là stripe. Ở cả hai hình PV ở trên, LV ở dưới (Trang 23)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w