Centos 7 Mở rộng phân vùng với không gian chưa phân bổ


14

Tôi có máy chủ centos 7 (CentOS Linux release 7.3.1611 (Core))Khi tôi được cập nhật máy chủ của mình, tôi thấy lỗi bạn cần thêm dung lượng. Nhưng tôi đã có đĩa 20 GB trên máy chủ khi kiểm tra dung lượng ổ đĩa, tôi chỉ thấy phân vùng 4,5 GB được tạo và phân vùng 16 GB là không gian trống không bị phân bổ. Làm cách nào tôi có thể mở rộng phân vùng từ 16 GB dung lượng trống?

lsblk:

NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0               2:0    1    4K  0 disk
sda               8:0    0   20G  0 disk
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0  4.5G  0 part
  ├─centos-root 253:0    0    4G  0 lvm  /
  └─centos-swap 253:1    0  512M  0 lvm  [SWAP]
sr0              11:0    1 1024M  0 rom

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


làm man lvmhoặc tldp.org/HOWTO/LVM-HOWTO
alexus

Câu trả lời:


20

Có ba bước để thực hiện:

  1. thay đổi bảng phân vùng của bạn để sda2kết thúc ở cuối đĩa
  2. đọc lại bảng phân vùng (sẽ yêu cầu khởi động lại)
  3. thay đổi kích thước pv LVM của bạn bằng cách sử dụng pvresize

Bước 1 - Bảng phân vùng

Chạy đi fdisk /dev/sda. Vấn đề pđể in bảng phân vùng hiện tại của bạn và sao chép đầu ra đó đến một nơi an toàn. Bây giờ vấn đề dtiếp theo 2để loại bỏ phân vùng thứ hai. Vấn đề nđể tạo một phân vùng thứ hai mới. Đảm bảo bắt đầu bằng với bắt đầu của bảng phân vùng bạn đã in trước đó. Đảm bảo kết thúc ở cuối đĩa (thường là mặc định).

Vấn đề ttiếp theo là theo 2sau 8eđể chuyển loại phân vùng của phân vùng thứ hai mới của bạn sang 8e (Linux LVM).

Vấn đề pđể xem lại bố cục phân vùng mới của bạn và đảm bảo bắt đầu phân vùng thứ hai mới chính xác là nơi phân vùng thứ hai cũ.

Nếu mọi thứ đều ổn, whãy ghi bảng phân vùng vào đĩa. Bạn sẽ nhận được thông báo lỗi từ partprobe rằng bảng phân vùng không thể đọc lại được (vì đĩa đang được sử dụng).

Khởi động lại hệ thống của bạn

Bước này không cần thiết để bảng phân vùng được đọc lại.

Thay đổi kích thước PV LVM

Sau khi hệ thống của bạn khởi động lại gọi pvresize /dev/sda2. Âm lượng LVM vật lý của bạn bây giờ sẽ kéo dài phần còn lại của ổ đĩa và bạn có thể tạo hoặc mở rộng âm lượng logic vào không gian đó.


một giải pháp tuyệt vời, nó hoạt động hoàn hảo. vẫn chỉ là phần làm thế nào để mở rộng khối lượng logic.
Mimouni

Câu trả lời xuất sắc này chỉ dừng lại ở dòng kết thúc! Tôi đã tìm ra cách để hoàn thành nó. Ví dụ được chia sẻ trong câu hỏi cho thấy hai tập hợp logic bên dưới sda2: centos-rootcentos-swap. Trong trường hợp này, nhóm âm lượng là centosvà hai khối logic bên trong nhóm đó là rootswap. Nếu chúng tôi muốn mở rộng centos-rootâm lượng trong ví dụ này với 50% không gian có sẵn trong sda2phân vùng mới được mở rộng , chúng tôi sẽ sử dụng lvextend -r -l +50%FREE /dev/centos/root. Thay -rđổi kích thước hệ thống tập tin cơ bản để phù hợp với khối lượng logic mở rộng.
Shadoninja

@Shadoninja nằm ngoài phạm vi của câu hỏi ban đầu. Vì vậy, tôi đã không thêm nó và sẽ không thêm nó vào câu hỏi này trong tương lai.
Andreas Rogge

@AndreasRogge Tôi cho rằng điều đó hoàn toàn nằm trong phạm vi của câu hỏi này vì thuật ngữ trong không gian này có thể gây nhầm lẫn và dễ nhầm lẫn. Rất đáng để đăng một bản tóm tắt đầy đủ về cách lấy không gian đĩa chưa được phân bổ có thể sử dụng bởi hệ thống tệp vì đó sẽ là một lý do cực kỳ phổ biến để mọi người tìm thấy câu hỏi này.
Shadoninja

13

Bạn có thể làm điều này mà không cần khởi động lại trong CentOS 7. Giả sử đĩa của bạn là / dev / vda và phân vùng RHEL / CentOS tiêu chuẩn:

Mở rộng phân vùng

# fdisk /dev/vda

Nhập pđể in bảng phân vùng ban đầu của bạn.

Nhập d(xóa) theo sau 2để xóa định nghĩa phân vùng hiện có (phân vùng 1 thường là / boot và phân vùng 2 thường là phân vùng gốc).

Nhập n(mới) theo sau p(chính) theo sau 2để tạo lại phân vùng số 2 và enterchấp nhận khối bắt đầu và entermột lần nữa để chấp nhận khối kết thúc được mặc định ở cuối đĩa.

Nhập t(loại) rồi 2sau đó 8eđể thay đổi kiểu phân vùng mới để "Linux LVM".

Nhập pđể in bảng phân vùng mới của bạn và đảm bảo khối bắt đầu khớp với những gì trong bảng phân vùng ban đầu được in ở trên.

Nhập wđể ghi bảng phân vùng vào đĩa. Bạn sẽ thấy một lỗi Device or resource busymà bạn có thể bỏ qua.

Cập nhật bảng phân vùng trong bộ nhớ kernel

Sau khi thay đổi bảng phân vùng của bạn, hãy chạy lệnh sau để cập nhật bảng phân vùng trong bộ nhớ:

# partx -u /dev/vda

Thay đổi kích thước âm lượng vật lý

Thay đổi kích thước PV để nhận ra không gian thừa

# pvresize /dev/vda2

Thay đổi kích thước LV và hệ thống tập tin

Trong lệnh centosnày là PV, rootlà LV và /dev/vda2là phân vùng được mở rộng. Sử dụng pvslvsra lệnh để xem tên khối lượng vật lý và logic của bạn nếu bạn không biết chúng. Các -rtùy chọn trong lệnh này thay đổi kích thước hệ thống tập tin một cách thích hợp, do đó bạn không cần phải gọi resize2fshoặc xfs_growfsriêng rẽ.

# lvextend -r centos/root /dev/vda2

Câu trả lời phức tạp hơn thì "câu trả lời được chọn" một!
Furkat U.

Điều này thật tuyệt vời. Cảm ơn bạn! Đây phải là câu trả lời được chấp nhận. Tôi đã bỏ lỡ bước cuối cùng để thay đổi kích thước hệ thống tập tin và lv!
Skinner927

4

Đối với những người gặp khó khăn trong việc mở rộng khối lượng logic như tôi, đọc bài đăng này có thể hữu ích. Tóm lại, bạn có thể sử dụng lvextendđể mở rộng âm lượng logic của mình: lvextend -l +<PE> <LV_PATH> bạn có thể lấy số lượng PE ( <PE>) còn lại bằng cách vgdisplayvà có được đường dẫn của khối lượng logic ( LV_PATH) của mình theo lvdisplay.

Sau đó, tùy thuộc vào bản phân phối của bạn, bạn muốn xfs_growfs <LV_PATH>(Centos 7) hoặc resize2fs <LV_PATH>cuối cùng thay đổi kích thước.


0

Kiểm tra điều này - mọi thứ trên một dòng duy nhất, không có câu hỏi:

parted —pretend-input-tty /dev/vda resizepart 2 100%;
partx -u /dev/vda; pvresize /dev/vda2;
lvextend -r centos/var /dev/vda2

Bạn nên xem xét thêm giải thích và môi trường của bạn. Chẳng hạn, partx của tôi không có tùy chọn -u(Centos6.7 produc-linux-ng-2.17.2-12.28.el6).
Boop
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.