SlideShare a Scribd company logo
1 of 39
Cách Thay Đổi Size Của Các
Partitions Trong Linux
GPARTED & LVM
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux 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
 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 …)
 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)
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
 GParted hỗ trợ các hành động sau trên hệ thống tập tin:
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
Thực hiện chi tiết, ta có thể khởi động vào GParted Live CD bằng đĩa CD hoặc USB boot
Thao tác như bên dưới: Nhấn enter và enter
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
Sau đó ta sẽ được nhắc nhở để chọn ngôn ngữ, nhấn enter mặc định là tiếng Anh.
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
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.
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
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.
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
Chọn / dev/sda2 và nhấp vào "Resize / Move" và ta sẽ được trình bày với những điều sau đây.
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.
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
Sau khi làm điều này, chúng ta 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 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.
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
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 đến cuối và 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 độ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.
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
Các partion 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ổ.
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
Chọn dev/sda2 mở rộng phân vùng / và chọn Resize / Move.
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.
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
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.
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 trong GParted.
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
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ông gian 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ụng cá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.
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.
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
Một khi hoàn tất, ta sẽ tương tự như hình dưới đây, ta nhấp vào close khi đã 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.
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
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.
Đến đây là kết thúc phần Resize bằng Gparted !
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
Giờ chúng ta tiếp tục cách
quản lý Partion với
=> LVM <=
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
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 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 được xem 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.
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
PHYSICAL EXTENT: là đại lượng thể hiện một khối đơn vị tính dung lượng của logical volume.
Theo cách chia thông thường thì kích thước partition bị giới hạn bởi kích thước HDD chứa nó. Điều này
nhiều khi rất bất tiện, xét bài toán sau:
Giả sử có 4 SCSI HDD là /dev/sdb, /dev/sdc/, /dev/sdd, /dev/sde; dung lượng mỗi HDD là 1GB như vậy có
4GB sức chứa. Cần tạo ra 3 partition: SOFTWARES 1,4 GB; MUSIC 1,2 GB; DATA 1,2 GB (tổng cộng là
3.8 GB) và để dành 0,2 GB còn lại. Các công cụ quản lí disk thông thường không làm được điều này vì mỗi
partition cần tạo lớn hơn từng HDD nhưng LVM thì có thể. Kĩ thuật LVM sẽ ghép 4 HDD lại thành một
partition lớn TOTALSTORAGE rồi lại chia TOTALSTORAGE ra thành các partition nhỏ hơn là
SOFTWARES, MUSIC, DATA, UNUSED (xem hình vẽ):
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
Linux LVM là một trình quản lí storage device theo 3 lớp từ thấp đến cao là:
• 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.
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
Một số công cụ của LVM:
1. Thiết lập LVM
Thiết lập và sử dụng LV
Phần này minh họa các lệnh create và view PV, VG, LV qua các bước giải quyết bài toán nêu ở trên.
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
Bước 1:Chuẩn bị các partition có filesystem là LVM bằng fdisk
Tạo partition LVM từ HDD. Ví dụ với /dev/sdb: fdisk /dev/sdb
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
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.
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.
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
Bước 2:Từ mỗi LVM partition tạo một PV
Tạo PV bằng lệnh: pvcreate
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
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
[…]
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
Bước 3:Tạo VG từ các PV
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
sau bước này xuất hiện thêm thư mục /dev/TotalStorage
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
[…]
TotalStorage 4 0 0 wz--n 3.96G 3.96G
[…]
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
Bước 4:Tạo các LV từ VG
Tạo các LV Softwares, Music, Data từ VG TotalStorage bằng lệnh:
lvcreate –n -L [-s ] [Path_PV]
lvcreate -n Softwares -L 1.4G TotalStorage
lvcreate -n Music -L 1.2G TotalStorage
lvcreate -n Data -L 1G TotalStorage
Sau bước này có thêm các file
device /dev/TotalStorage/Softwares, /dev/TotalStorage/Music, /dev/TotalStorage/Data
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
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.
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
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
[…]
TRAN MINH TUAN / QTMK2 / iSPACE
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ách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
Bước 5: Sử dụng LV
Tạo filesystem cho LV:
mkfs –t ext3 /dev/TotalStorage/Softwares
mkfs –t ext3 /dev/TotalStorage/Music
mkfs –t ext3 /dev/TotalStorage/Data
Mount các LV vừa tạo. Nếu cần LV được tự động mount mỗi khi hệ thống khởi động, sửa file /etc/fstab.
Enable LVM
Để 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ả.
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
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
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.)
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
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
Hình trên là linear, hình dưới là stripe. Ở cả hai hình PV ở trên, LV ở dưới.
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
Đị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)
…
Có thể đặt lại các thuộc tính của volume thông qua lệnh pv/vg/lvchange.
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
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.
TRAN MINH TUAN / QTMK2 / iSPACE
Pvdisplay
[…]
--- Physical volume ---
PV Name /dev/sdc1
VG Name TotalStorage
PV Size 1016.00 MB / not usable 0
Allocatable yes
PE Size (KByte) 4096
Total PE 254
Free PE 254
Allocated PE 0
PV UUID jRhSdv-1TFk-RHcM-wJ1Q-
o0Fv-BdqE-jwxpmL
[…]
Allocatable: đã chia PV thành các PE chưa
(yes/no). Giá trị yes chỉ khi PV này được
dùng để tạo ra một VG nào đó
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
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
Khi PV chưa được dùng để tạo VG thì nó có tiêu đề “---NEW Physical volume---”
TRAN MINH TUAN / QTMK2 / iSPACE
Vgdisplay
--- Volume group ---
VG Name TotalStorage
System ID
Format lvm2
Metadata Areas 4
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 4
Open LV 0
Max PV 0
Cur PV 4
Act PV 4
VG Size 3.96 GB
PE Size 4.00 MB
Total PE 1014
Alloc PE / Size 975 / 3.81 GB
Free PE / Size 39 / 156.00 MB
VG UUID mK8knW-hPAL-X6Uq-FROE-6Zux-
Zr7A-pXdN3K
Cur LV: số LV được tạo ra từ VG này
Cur PV: số PV đã tạo nên VG này
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
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.
TRAN MINH TUAN / QTMK2 / iSPACE
Lvdisplay
--- Logical volume ---
LV Name /dev/TotalStorage/Softwares
VG Name TotalStorage
LV UUID TWuT2H-Q2gx-eLYH-oA3S-Nyle-
iMvm-87DS3q
LV Write Access read/write
LV Status available
# open 0
LV Size 1.40 GB
Current LE 359
Segments 2
Allocation inherit
Read ahead sectors 0
Block device 253:3
Current LE: số LE của LV này
Segments: số PV mà LV này sử dụng
Block device: cặp số major:minor của LV này
Scan volume
Các thông tin về các PV, VG, LV của hệ thống hiện hành
được lưu trong kernel. Các lệnh pvs, vgs, lvs chỉ đọc các thông
tin này và hiển thị ra. Nhưng có những khi hệ 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
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
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
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
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
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
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
Sau bước trên mới có thể rút PV /dev/sdb1 ra bằng lệnh vgreduce TotalStorage /dev/sdb1
Quá trình pvmove có thể lâu do đó nên thêm tham số -v (--verbose) để hiện thị các bước trong quá trình.
Resize LV
Resize một LV gồm 2 thao tác:
(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.
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
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.
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
TRAN MINH TUAN / QTMK2 / iSPACE
.::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.
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.
Đến đây là kết thúc phần Resize bằng LVM !
THANK YOU ! HAVE FUN
TRAN MINH TUAN / QTMK2 / iSPACE

More Related Content

Similar to Cách thay đổi size của các partitions trong linux gparted & lvm

Huong dan cai dat synology
Huong dan cai dat synologyHuong dan cai dat synology
Huong dan cai dat synologyNam Nguyen Van
 
Huong dan cai dat synology
Huong dan cai dat synologyHuong dan cai dat synology
Huong dan cai dat synologyNhan Vo
 
hdd
hddhdd
hddVNG
 
Cài đặt và cấu hình căn bản hệ điều hành.pptx
Cài đặt và cấu hình căn bản hệ điều hành.pptxCài đặt và cấu hình căn bản hệ điều hành.pptx
Cài đặt và cấu hình căn bản hệ điều hành.pptxchamkhe
 
File server resource manager
File server resource managerFile server resource manager
File server resource managerlaonap166
 
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intel
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intelCài đặt ubuntu server cho main supermicro x9 scl trên raid intel
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intellaonap166
 
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intel
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intelCài đặt ubuntu server cho main supermicro x9 scl trên raid intel
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intellaonap166
 
C 3. Quản lý bộ nhớ full.pdf
C 3. Quản lý bộ nhớ full.pdfC 3. Quản lý bộ nhớ full.pdf
C 3. Quản lý bộ nhớ full.pdfLmTrn286060
 
Linux Backup & Restore.docx
Linux Backup & Restore.docxLinux Backup & Restore.docx
Linux Backup & Restore.docxssuserca116d
 
tài liệu Mã nguồn mở 02 sudung
tài liệu Mã nguồn mở  02 sudungtài liệu Mã nguồn mở  02 sudung
tài liệu Mã nguồn mở 02 sudungThuyet Nguyen
 
Disk management p1
Disk management p1Disk management p1
Disk management p1laonap166
 
pq-magic
 pq-magic pq-magic
pq-magicVNG
 
Chuong 14 pq-magic
Chuong 14 pq-magicChuong 14 pq-magic
Chuong 14 pq-magicHate To Love
 
Cài đặt quản trị hệ điều hành Ubuntu 12.0
Cài đặt quản trị  hệ điều hành Ubuntu 12.0Cài đặt quản trị  hệ điều hành Ubuntu 12.0
Cài đặt quản trị hệ điều hành Ubuntu 12.0Cường Nguyễn Tam
 
Chuong 14 pq-magic
Chuong 14 pq-magicChuong 14 pq-magic
Chuong 14 pq-magicHate To Love
 
Bai 06 quan ly dia
Bai 06   quan ly diaBai 06   quan ly dia
Bai 06 quan ly diaVan Pham
 

Similar to Cách thay đổi size của các partitions trong linux gparted & lvm (20)

Chuong 6 hdd
Chuong 6 hddChuong 6 hdd
Chuong 6 hdd
 
Huong dan cai dat synology
Huong dan cai dat synologyHuong dan cai dat synology
Huong dan cai dat synology
 
Huong dan cai dat synology
Huong dan cai dat synologyHuong dan cai dat synology
Huong dan cai dat synology
 
hdd
hddhdd
hdd
 
Chuong 6 hdd
Chuong 6 hddChuong 6 hdd
Chuong 6 hdd
 
Cài đặt và cấu hình căn bản hệ điều hành.pptx
Cài đặt và cấu hình căn bản hệ điều hành.pptxCài đặt và cấu hình căn bản hệ điều hành.pptx
Cài đặt và cấu hình căn bản hệ điều hành.pptx
 
File server resource manager
File server resource managerFile server resource manager
File server resource manager
 
Linux Introduction
Linux IntroductionLinux Introduction
Linux Introduction
 
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intel
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intelCài đặt ubuntu server cho main supermicro x9 scl trên raid intel
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intel
 
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intel
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intelCài đặt ubuntu server cho main supermicro x9 scl trên raid intel
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intel
 
C 3. Quản lý bộ nhớ full.pdf
C 3. Quản lý bộ nhớ full.pdfC 3. Quản lý bộ nhớ full.pdf
C 3. Quản lý bộ nhớ full.pdf
 
Linux Backup & Restore.docx
Linux Backup & Restore.docxLinux Backup & Restore.docx
Linux Backup & Restore.docx
 
tài liệu Mã nguồn mở 02 sudung
tài liệu Mã nguồn mở  02 sudungtài liệu Mã nguồn mở  02 sudung
tài liệu Mã nguồn mở 02 sudung
 
Disk management p1
Disk management p1Disk management p1
Disk management p1
 
pq-magic
 pq-magic pq-magic
pq-magic
 
Chuong 14 pq-magic
Chuong 14 pq-magicChuong 14 pq-magic
Chuong 14 pq-magic
 
Cài đặt quản trị hệ điều hành Ubuntu 12.0
Cài đặt quản trị  hệ điều hành Ubuntu 12.0Cài đặt quản trị  hệ điều hành Ubuntu 12.0
Cài đặt quản trị hệ điều hành Ubuntu 12.0
 
Chuong 14 pq-magic
Chuong 14 pq-magicChuong 14 pq-magic
Chuong 14 pq-magic
 
Su co pc
Su co pcSu co pc
Su co pc
 
Bai 06 quan ly dia
Bai 06   quan ly diaBai 06   quan ly dia
Bai 06 quan ly dia
 

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

  • 1.
  • 2. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM TRAN MINH TUAN / QTMK2 / iSPACE
  • 3. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux 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  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 …)  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) TRAN MINH TUAN / QTMK2 / iSPACE
  • 4. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::.  GParted hỗ trợ các hành động sau trên hệ thống tập tin: TRAN MINH TUAN / QTMK2 / iSPACE
  • 5. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. Thực hiện chi tiết, ta có thể khởi động vào GParted Live CD bằng đĩa CD hoặc USB boot Thao tác như bên dưới: Nhấn enter và enter TRAN MINH TUAN / QTMK2 / iSPACE
  • 6. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. Sau đó ta sẽ được nhắc nhở để chọn ngôn ngữ, nhấn enter mặc định là tiếng Anh. TRAN MINH TUAN / QTMK2 / iSPACE
  • 7. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. 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. TRAN MINH TUAN / QTMK2 / iSPACE
  • 8. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. 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. TRAN MINH TUAN / QTMK2 / iSPACE
  • 9. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. Chọn / dev/sda2 và nhấp vào "Resize / Move" và ta sẽ được trình bày với những điều sau đây. 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. TRAN MINH TUAN / QTMK2 / iSPACE
  • 10. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. Sau khi làm điều này, chúng ta 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 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. TRAN MINH TUAN / QTMK2 / iSPACE
  • 11. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. 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 đến cuối và 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 độ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. TRAN MINH TUAN / QTMK2 / iSPACE
  • 12. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. Các partion 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ổ. TRAN MINH TUAN / QTMK2 / iSPACE
  • 13. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. Chọn dev/sda2 mở rộng phân vùng / và chọn Resize / Move. 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. TRAN MINH TUAN / QTMK2 / iSPACE
  • 14. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. 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. 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 trong GParted. TRAN MINH TUAN / QTMK2 / iSPACE
  • 15. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. 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ông gian 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ụng cá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. 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. TRAN MINH TUAN / QTMK2 / iSPACE
  • 16. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. Một khi hoàn tất, ta sẽ tương tự như hình dưới đây, ta nhấp vào close khi đã 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. TRAN MINH TUAN / QTMK2 / iSPACE
  • 17. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. 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. Đến đây là kết thúc phần Resize bằng Gparted ! TRAN MINH TUAN / QTMK2 / iSPACE
  • 18. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. Giờ chúng ta tiếp tục cách quản lý Partion với => LVM <= TRAN MINH TUAN / QTMK2 / iSPACE
  • 19. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. 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 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 được xem 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. TRAN MINH TUAN / QTMK2 / iSPACE
  • 20. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. PHYSICAL EXTENT: là đại lượng thể hiện một khối đơn vị tính dung lượng của logical volume. Theo cách chia thông thường thì kích thước partition bị giới hạn bởi kích thước HDD chứa nó. Điều này nhiều khi rất bất tiện, xét bài toán sau: Giả sử có 4 SCSI HDD là /dev/sdb, /dev/sdc/, /dev/sdd, /dev/sde; dung lượng mỗi HDD là 1GB như vậy có 4GB sức chứa. Cần tạo ra 3 partition: SOFTWARES 1,4 GB; MUSIC 1,2 GB; DATA 1,2 GB (tổng cộng là 3.8 GB) và để dành 0,2 GB còn lại. Các công cụ quản lí disk thông thường không làm được điều này vì mỗi partition cần tạo lớn hơn từng HDD nhưng LVM thì có thể. Kĩ thuật LVM sẽ ghép 4 HDD lại thành một partition lớn TOTALSTORAGE rồi lại chia TOTALSTORAGE ra thành các partition nhỏ hơn là SOFTWARES, MUSIC, DATA, UNUSED (xem hình vẽ): TRAN MINH TUAN / QTMK2 / iSPACE
  • 21. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. Linux LVM là một trình quản lí storage device theo 3 lớp từ thấp đến cao là: • 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. TRAN MINH TUAN / QTMK2 / iSPACE
  • 22. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. Một số công cụ của LVM: 1. Thiết lập LVM Thiết lập và sử dụng LV Phần này minh họa các lệnh create và view PV, VG, LV qua các bước giải quyết bài toán nêu ở trên. TRAN MINH TUAN / QTMK2 / iSPACE
  • 23. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. Bước 1:Chuẩn bị các partition có filesystem là LVM bằng fdisk Tạo partition LVM từ HDD. Ví dụ với /dev/sdb: fdisk /dev/sdb 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 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. 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. TRAN MINH TUAN / QTMK2 / iSPACE
  • 24. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. Bước 2:Từ mỗi LVM partition tạo một PV Tạo PV bằng lệnh: pvcreate pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 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 […] TRAN MINH TUAN / QTMK2 / iSPACE
  • 25. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. Bước 3:Tạo VG từ các PV 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 sau bước này xuất hiện thêm thư mục /dev/TotalStorage 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 […] TotalStorage 4 0 0 wz--n 3.96G 3.96G […] TRAN MINH TUAN / QTMK2 / iSPACE
  • 26. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. Bước 4:Tạo các LV từ VG Tạo các LV Softwares, Music, Data từ VG TotalStorage bằng lệnh: lvcreate –n -L [-s ] [Path_PV] lvcreate -n Softwares -L 1.4G TotalStorage lvcreate -n Music -L 1.2G TotalStorage lvcreate -n Data -L 1G TotalStorage Sau bước này có thêm các file device /dev/TotalStorage/Softwares, /dev/TotalStorage/Music, /dev/TotalStorage/Data TRAN MINH TUAN / QTMK2 / iSPACE
  • 27. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. 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. 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 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 […] TRAN MINH TUAN / QTMK2 / iSPACE 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).
  • 28. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. Bước 5: Sử dụng LV Tạo filesystem cho LV: mkfs –t ext3 /dev/TotalStorage/Softwares mkfs –t ext3 /dev/TotalStorage/Music mkfs –t ext3 /dev/TotalStorage/Data Mount các LV vừa tạo. Nếu cần LV được tự động mount mỗi khi hệ thống khởi động, sửa file /etc/fstab. Enable LVM Để 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ả. TRAN MINH TUAN / QTMK2 / iSPACE
  • 29. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. 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 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.) TRAN MINH TUAN / QTMK2 / iSPACE
  • 30. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. 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 Hình trên là linear, hình dưới là stripe. Ở cả hai hình PV ở trên, LV ở dưới. TRAN MINH TUAN / QTMK2 / iSPACE
  • 31. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. Đị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) … Có thể đặt lại các thuộc tính của volume thông qua lệnh pv/vg/lvchange. TRAN MINH TUAN / QTMK2 / iSPACE
  • 32. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. 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. TRAN MINH TUAN / QTMK2 / iSPACE Pvdisplay […] --- Physical volume --- PV Name /dev/sdc1 VG Name TotalStorage PV Size 1016.00 MB / not usable 0 Allocatable yes PE Size (KByte) 4096 Total PE 254 Free PE 254 Allocated PE 0 PV UUID jRhSdv-1TFk-RHcM-wJ1Q- o0Fv-BdqE-jwxpmL […] Allocatable: đã chia PV thành các PE chưa (yes/no). Giá trị yes chỉ khi PV này được dùng để tạo ra một VG nào đó 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
  • 33. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. Khi PV chưa được dùng để tạo VG thì nó có tiêu đề “---NEW Physical volume---” TRAN MINH TUAN / QTMK2 / iSPACE Vgdisplay --- Volume group --- VG Name TotalStorage System ID Format lvm2 Metadata Areas 4 Metadata Sequence No 5 VG Access read/write VG Status resizable MAX LV 0 Cur LV 4 Open LV 0 Max PV 0 Cur PV 4 Act PV 4 VG Size 3.96 GB PE Size 4.00 MB Total PE 1014 Alloc PE / Size 975 / 3.81 GB Free PE / Size 39 / 156.00 MB VG UUID mK8knW-hPAL-X6Uq-FROE-6Zux- Zr7A-pXdN3K Cur LV: số LV được tạo ra từ VG này Cur PV: số PV đã tạo nên VG này
  • 34. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. 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. TRAN MINH TUAN / QTMK2 / iSPACE Lvdisplay --- Logical volume --- LV Name /dev/TotalStorage/Softwares VG Name TotalStorage LV UUID TWuT2H-Q2gx-eLYH-oA3S-Nyle- iMvm-87DS3q LV Write Access read/write LV Status available # open 0 LV Size 1.40 GB Current LE 359 Segments 2 Allocation inherit Read ahead sectors 0 Block device 253:3 Current LE: số LE của LV này Segments: số PV mà LV này sử dụng Block device: cặp số major:minor của LV này Scan volume Các thông tin về các PV, VG, LV của hệ thống hiện hành được lưu trong kernel. Các lệnh pvs, vgs, lvs chỉ đọc các thông tin này và hiển thị ra. Nhưng có những khi hệ 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
  • 35. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. 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 TRAN MINH TUAN / QTMK2 / iSPACE
  • 36. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. 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 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 TRAN MINH TUAN / QTMK2 / iSPACE
  • 37. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. Sau bước trên mới có thể rút PV /dev/sdb1 ra bằng lệnh vgreduce TotalStorage /dev/sdb1 Quá trình pvmove có thể lâu do đó nên thêm tham số -v (--verbose) để hiện thị các bước trong quá trình. Resize LV Resize một LV gồm 2 thao tác: (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. TRAN MINH TUAN / QTMK2 / iSPACE
  • 38. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. 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. 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 TRAN MINH TUAN / QTMK2 / iSPACE
  • 39. .::. Cách Thay Đổi Size Của Các Partitions Trong Linux GPARTED & LVM .::. 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. Đến đây là kết thúc phần Resize bằng LVM ! THANK YOU ! HAVE FUN TRAN MINH TUAN / QTMK2 / iSPACE