Làm cách nào để mở rộng phân vùng CentOS 5 trên VMware?


15

Tôi có một máy ảo CentOS 5 và tôi đã thêm 20GB vào kích thước đĩa. Làm cách nào để khởi tạo và mở rộng không gian có sẵn?

Tôi cũng đã thử tải GParted, nhưng ổ đĩa bị khóa; Làm thế nào để tôi mở khóa nó?

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

Câu trả lời:


25

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.

  1. 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
    
  2. 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
    
  3. Khởi động lại máy ảo

    shutdown -r now
    
  4. Sau khi sao lưu, hãy thay đổi kích thước âm lượng vật lý LVM

    pvresize /dev/sda2
    
  5. 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
    
  6. Cuối cùng, cho phép thay đổi kích thước hệ thống tập tin

    resize2fs -p /dev/VolGroup00/LogVol00
    
  7. Xác minh hệ thống tập tin lớn hơn

    df -h
    
  8. Làm xong


Không khởi động lại neded sau fdisk. Sử dụng partprobeở đó. Quét lại SCSI rất thú vị - nó có hoạt động trên đĩa đang sử dụng không?
Nils

1
Đi dự tiệc muộn: p Tôi gặp vấn đề với partprobe không đọc lại các phân vùng đang sử dụng nên cuối cùng tôi khởi động lại trong hầu hết các trường hợp. Quét lại SCSI chỉ hoạt động tốt với các đĩa được sử dụng. Bạn có thể chạy dmesgđể xác nhận đĩa được xem là kích thước mới
TheDude

thật buồn khi không có gì giống như một scsi-rescan cho các đĩa xen-pv. Nhưng đó là một chủ đề khác ...
Nils

1
Cảm ơn bạn rất nhiều, hướng dẫn của bạn đã làm việc hoàn hảo!
Chris Haas

Tôi nên tìm kiếm gì sau bước 1 (echo & rescan)? Làm thế nào tôi có thể biết nếu hạt nhân nhận ra không gian thêm hay không?
Jeff

4

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

2

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

  1. Viết xuống bạn bắt đầu xi lanh cho phân vùng thứ hai.
  2. "Xóa" partiton thứ hai
  3. Tái tạo partiton thứ hai, cùng xi lanh bắt đầu, xi lanh cuối cùng cho kết thúc
  4. đặt loại phân vùng được tạo lại thành 8e (LVM)
  5. viết các thay đổi và thoát fdisk
  6. partprobe
  7. 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).


echo 1> / sys / class / scsi_disk / 0 \: 0 \: 0 \: 0 / device / rescan thực hiện phép thuật quét lại mà không cần khởi động lại
andrej

@andrej Ngay cả khi đĩa đang được sử dụng?
Nils

Vâng, đó là ma thuật cấp thấp ở phía bộ điều khiển, vì vậy nó cũng sẽ hoạt động trên các đĩa được gắn. Bạn chỉ cần chắc chắn rằng bạn đã mở rộng ổ đĩa, không được trừ không gian từ nó.
andrej

2

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.


Tôi đã tải, nhưng ổ đĩa có biểu tượng khóa .. Tôi đã đính kèm hình ảnh
Andrew


Cảm ơn! +1 cho đề xuất ứng dụng giống như Particion Magic này.
jstuardo

0

Ở đâ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/sdb1và 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, resize2fslệ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 sao bạn xóa sau đó khôi phục tạp chí? Điều này là không cần thiết, một hệ thống tập tin ext3 có thể được mở rộng cũng như một hệ thống tập tin ext2. Hơn nữa, bạn đang thiếu một mảnh ghép lớn: phân vùng cần mở rộng là trên LVM.
Gilles 'SO- đừng trở nên xấu xa'

0

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".


0

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 -rtắc vào lvresize. Điều đó sẽ làm cho lvresizechạy resize2fstự động với các thông số cần thiết:

lvresize -r -l +100%FREE /dev/VolGroup00/LogVol00

Chào mừng bạn đến với StackExchange * nix!

0

Đố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.

  1. VMWare đã cho tôi một GUI khi tôi chỉnh sửa VM trước khi khởi động nó để thay đổi kích thước số lượng có sẵn cho VM. Tôi đã sử dụng nó và mở rộng nó lên 40 GB.
  2. Sau đó tôi đã khởi động CentOS và chạy 'fdisk -l' với quyền root. Tôi có thể thấy không gian mới. Sau đó tôi đã chạy 'df -h' để xác minh rằng phân vùng cũ của tôi vẫn còn đó.
  3. Sau đó tôi đã chạy 'cfdisk / dev / sda' và có một GUI văn bản hiển thị các phân vùng của tôi. Trong trường hợp của tôi, phân vùng tôi muốn thay đổi kích thước là / dev / sda3 và là phân vùng cuối cùng.
  4. Sau đó tôi đã sử dụng cfdisk để xóa phân vùng, sau đó tạo một cái mới với tất cả không gian có sẵn. Tôi đã viết những thay đổi của tôi và bỏ.
  5. Sau đó tôi khởi động lại VM (tắt máy ngay bây giờ -r).
  6. Sau khi khởi động lại, tôi đã sử dụng 'resize2fs / dev / sda3', trong đó / dev / sda3 là phân vùng tôi đã tạo lại. Điều này tự động hoàn thành thay đổi kích thước cho tôi.
  7. Bây giờ với 'df -h' tôi thấy kích thước đầy đủ mới.

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


0

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

0

Đôi khi bạn cần phải làm

echo "- - -" >  /sys/class/scsi_host/host<n>/scan

Nó phụ thuộc vào việc bạn đang tạo một đĩa mới hay mở rộng một đĩa hiện có như loại quét nào được yêu cầu.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.