Câu trả lời:
Bạn sẽ không thể sử dụng GParted vì hệ thống tập tin trên LVM và GParted không hỗ trợ điều đó.
Đầu tiên, HÃY BACKUP CỦA VM. Sau đó thực hiện như sau là "root" từ một dòng lệnh.
Có vẻ như bạn đã khởi động lại nhưng chỉ trong trường hợp, đảm bảo kernel nhận ra đĩa lớn hơn
echo 1 > /sys/class/scsi_disk/0:0:0:0/device/rescan
Thay đổi kích thước phân vùng thứ hai bằng fdisk
fdisk /dev/sda
p # print current
d # delete
- 2
n # create
- p # primary partition
2 # partition number
- default first/last cylinders
t # change partition id
- 2
- 8e (hex code)
p # print the current again to verify it's expanded
w # write changes
Khởi động lại máy ảo
shutdown -r now
Sau khi sao lưu, hãy thay đổi kích thước âm lượng vật lý LVM
pvresize /dev/sda2
Bây giờ thay đổi kích thước âm lượng logic LVM ( LƯU Ý: Tôi không thể giải mã tên khối lượng logic của bạn dựa trên ảnh chụp màn hình và do đó, giả sử LogVol00
. Bạn có thể xác định điều này bằng cách chạy lvdisplay
.)
lvresize -l +100%FREE /dev/VolGroup00/LogVol00
Cuối cùng, cho phép thay đổi kích thước hệ thống tập tin
resize2fs -p /dev/VolGroup00/LogVol00
Xác minh hệ thống tập tin lớn hơn
df -h
Làm xong
dmesg
để xác nhận đĩa được xem là kích thước mới
Các bước dưới đây đã mở rộng phân vùng của tôi từ 12G lên 26GB trên VMWare EXSi 5.5 chạy VPS Centos 6 EXT4.
1) Xác định tên thiết bị, theo mặc định / dev / sda và xác nhận kích thước mới bằng cách chạy lệnh:
# fdisk -l
2) Nhận danh sách phân vùng cho thiết bị / dev / sda:
# ls -al /dev/sda*
brw-rw---- 1 root disk 8, 0 Dec 29 15:32 /dev/sda
brw-rw---- 1 root disk 8, 1 Dec 29 15:32 /dev/sda1
brw-rw---- 1 root disk 8, 2 Dec 29 15:32 /dev/sda2
3) Tạo phân vùng chính mới
# fdisk /dev/sda
Then type:
n (enter) [create new partition]
p (enter) [primary partition]
3 (enter) [next available number from listed /dev/sda partitions in 2)
(enter) [start cylinder]
(enter to use all available physical space) or specify size in +cylinders, +size{K,M,G}
t (enter) [change partition type]
3 (enter) [selecting /dev/sda3 partition]
8e (enter) [this sets partition type to Linux LVM or type L then enter to see list of types]
w (enter)
The partition table has been altered!
4) Khởi động lại Centos 6.X sau đó đăng nhập lại bằng quyền root
# reboot
5) Kiểm tra phân vùng mới đã sẵn sàng và nhập '8e':
# fdisk -l
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 2089 16264192 8e Linux LVM
/dev/sda3 2089 3916 14678054 8e Linux LVM
6) Tạo khối lượng vật lý:
# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
7) Tìm tên nhóm âm lượng:
# vgdisplay
--- Volume group ---
VG Name vg_app1
...
8) Mở rộng âm lượng vật lý:
# vgextend vg_app1 /dev/sda3
Volume group "vg_app1" successfully extended
9) Mở rộng nhóm âm lượng hiện có sang âm lượng vật lý mới (+ 100% MIỄN PHÍ có thể được thay đổi thành kích thước mong muốn). Vì chúng tôi đang mở rộng phân vùng gốc do đó trỏ đến lv_root trong nhóm khối vg_app1.
# lvextend -l +100%FREE /dev/vg_app1/lv_root
Size of logical volume vg_app1/lv_root changed from 11.63 GiB (2978 extents) to 25.63 GiB (6561 extents).
Logical volume lv_root successfully resized
10) Thay đổi kích thước khối lượng gốc hợp lý:
# resize2fs /dev/vg_app1/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_app1/lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/vg_app1/lv_root to 6718464 (4k) blocks.
The filesystem on /dev/vg_app1/lv_root is now 6718464 blocks long.
Lưu ý: Sử dụng ext2online thay vì resize2fs nếu đó là máy ảo Red Hat.
11) Kiểm tra không gian có sẵn:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_app1-lv_root
26G 10G 14G 42% /
tmpfs 9.8G 0 9.8G 0% /dev/shm
/dev/sda1 477M 88M 364M 20% /boot
Dễ dàng. Đi vào VM của bạn với quyền root. Nhập "fdisk -l" - nếu bạn đã thấy kích thước đĩa mới - tốt.
Nếu không - hãy thử partprobe
- nếu bạn vẫn không thấy kích thước đĩa mới - khởi động lại.
Hiện nay fdisk /dev/sda
partprobe
pvresize /dev/sda2
Bây giờ VG Volgroup00 của bạn có thêm 20 GB dung lượng. Làm bất cứ điều gì bạn thích với nó. Giống như bạn sẽ làm trên một hệ thống vật lý (thay đổi kích thước LV, sau đó thay đổi kích thước FS chẳng hạn).
Tải xuống ISO CD Gparted trực tiếp . Sau đó, gắn ISO vào CentOS và khởi động từ đĩa cd trực tiếp (đi tới cài đặt máy ảo, chọn Thẻ CD / DVD và chọn Sử dụng ISO ISO từ bảng điều khiển bên phải). Sau đó chọn phân vùng bạn muốn thay đổi kích thước. Nhấp vào menu phân vùng (thanh menu trên cùng), sau đó nhấp vào trên Resize Thay đổi kích thước. Sau đó, chọn ứng dụng trên mạng.
Ở đây tôi đang lấy một phân vùng mẫu để mở rộng đĩa từ 5 GB lên 7 GB mà không mất Dữ liệu. Bạn có thể thay đổi theo không gian miễn phí của bạn có sẵn.
Trước khi tăng đĩa, tôi đã lấy các chi tiết sau từ Linux VM:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.8G 2.1G 4.5G 32% /
/dev/sda1 99M 12M 83M 13% /boot
none 252M 0 252M 0% /dev/shm
/dev/sdb1 5.0G 39M 4.7G 1% /mnt/test
# fdisk -s /dev/sdb
Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 652 5237158+ 83 Linux
Tắt VM ngay bây giờ.
Bây giờ tôi sẽ tăng đĩa ảo hiện có (/dev/sdb
) từ dấu nhắc lệnh của VMware. Lưu ý: tác vụ này chỉ được thực hiện khi tắt nguồn VM.
Đi đến vị trí của đĩa ảo.
# vmware-vdiskmanager -x 7Gb RedHatEnterprise_Linux_4-0.vmdk
Bây giờ nó sẽ phát triển đĩa ảo lên 7Gb
Bây giờ bạn cần bật nguồn VM. Đăng nhập vào VM bằng PuTTY hoặc bàn điều khiển với tư cách là người dùng root.
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.8G 2.1G 4.5G 32% /
/dev/sda1 99M 12M 83M 13% /boot
none 252M 0 252M 0% /dev/shm
/dev/sdb1 5.0G 39M 4.7G 1% /mnt/test
Nó vẫn hiển thị kích thước cũ. Ngắt kết nối phân vùng mà bạn sẽ tăng.
# umount /dev/sdb1
Chạy sửa chữa hệ thống tập tin trên đĩa
# fsck -n /dev/sdb1
Bây giờ là những mục tiêu để loại bỏ tạp chí khỏi đĩa để biến nó thành một hệ thống tập tin ext2.
# tune2fs -O ^has_journal /dev/sdb1
Bây giờ bắt đầu phân vùng /dev/sdb
để gán không gian tăng lên /dev/sdb1
. Lưu ý: Đừng hoảng sợ, bạn sẽ không mất dữ liệu ở đây.
Tôi đang loại bỏ hiện tại /dev/sdb1
và tái tạo cùng với không gian trống có sẵn.
# fdisk /dev/sdb
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition’s system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): p
Disk /dev/sdb: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 652 5237158+ 83 Linux
Command (m for help): d
Selected partition 1
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-913, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-913, default 913):
Using default value 913
Command (m for help): p
Disk /dev/sdb: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 913 7333641 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Bây giờ khởi động lại máy Linux để có hiệu lực của phân vùng (chúng tôi cũng có thể sử dụng partprobe
, chúng tôi khuyên bạn nên khởi động lại máy).
# shutdown now -r
Bây giờ một lần nữa kiểm tra hệ thống tệp mở rộng, nếu bạn bỏ qua bước này, resize2fs
lệnh sẽ khuyên bạn nên chạy nó.
# e2fsck -f /dev/sdb1
e2fsck 1.35 (28-Feb-2004)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 13/655360 files (7.7% non-contiguous), 22121/1309289 blocks
Bây giờ thay đổi kích thước hệ thống tập tin.
# resize2fs /dev/sdb1
resize2fs 1.35 (28-Feb-2004)
Resizing the filesystem on /dev/sdb1 to 1833410 (4k) blocks.
The filesystem on /dev/sdb1 is now 1833410 blocks long.
Bây giờ hãy kiểm tra hệ thống tập tin.
# fsck -n /dev/sdb1
fsck 1.35 (28-Feb-2004)
e2fsck 1.35 (28-Feb-2004)
/dev/sdb1: clean, 13/917504 files, 30538/1833410 blocks
Bây giờ tạo lại phân vùng với định dạng ext3.
# tune2fs -j /dev/sdb1
tune2fs 1.35 (28-Feb-2004)
Creating journal inode: done
This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
Khởi động lại máy Linux một lần để sử dụng hiệu quả hệ thống tập tin ext3.
# shutdown -r now
Một lần nữa, bạn đăng nhập vào hộp Linux bằng cách sử dụng quyền ưu tiên root. Bây giờ bạn có thể tìm thấy phân vùng tăng lên 7 GB.
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.8G 2.1G 4.5G 32% /
/dev/sda1 99M 12M 83M 13% /boot
none 252M 0 252M 0% /dev/shm
/dev/sdb1 6.9G 39M 6.7G 1% /mnt/test
Tôi vừa mới làm điều này, trong VMware, với CentOS 6.4. Câu trả lời số 1 là đúng, nhưng thiếu một bước, mà tôi phát hiện ra.
Trong Gparted, tôi cũng có biểu tượng khóa.
Trên hàng có phân vùng, có biểu tượng khóa, nhấp chuột phải và chọn "khử kích hoạt". Điều đó làm cho khóa đi.
Sau đó, bạn có thể nhấp chuột phải và thay đổi kích thước phân vùng.
Sau đó áp dụng thay đổi.
Sau đó nhấp chuột phải và chọn "kích hoạt".
Bạn có thể thực hiện các bước 5 và 6 thành một bằng cách thêm công -r
tắc vào lvresize
. Điều đó sẽ làm cho lvresize
chạy resize2fs
tự động với các thông số cần thiết:
lvresize -r -l +100%FREE /dev/VolGroup00/LogVol00
Đối với CentOS 6.6 trên VMWare, tôi đã làm như sau để tăng từ 30 GB lên 40 GB (lưu ý tôi không sử dụng LVM, chỉ là các phân vùng linux gốc thông thường (Id 83)):
LƯU Ý: Trước tiên hãy sao lưu VM của bạn trong trường hợp bạn mất dữ liệu. Bạn không nên mất dữ liệu nếu mọi thứ diễn ra tốt đẹp.
Thông tin được tìm thấy từ sự kết hợp các câu trả lời trên trang này và trên http://poseiton.org/resize-an-ext3-ext4-partition
Một cách tiếp cận khác là tạo LVM được kéo dài trên một đĩa đầy đủ thay vì phân vùng.
Trong trường hợp này, bạn có thể thêm đĩa nóng bằng phương pháp sau
blockscan --rereadpt /dev/<PV disk
pvresize /dev/<PV disk>
# The associated VG is now resized
lvresize /dev/mapper/<LV> -r -l +100%FREE
fdisk
. Sử dụngpartprobe
ở đó. Quét lại SCSI rất thú vị - nó có hoạt động trên đĩa đang sử dụng không?