VMware에서 CentOS 5 파티션을 확장하는 방법은 무엇입니까?


15

CentOS 5 가상 머신이 있고 디스크 크기에 20GB를 더 추가했습니다. 사용 가능한 공간을 어떻게 초기화하고 확장합니까?

GParted도로드하려고했지만 드라이브가 잠겨 있습니다. 잠금을 어떻게 해제합니까?

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

답변:


25

파일 시스템이 LVM에 있고 GParted가 지원하지 않기 때문에 GParted를 사용할 수 없습니다.

먼저 VM을 백업하십시오. 그런 다음 명령 행에서 "root"로 다음을 수행하십시오.

  1. 이미 재부팅 한 것처럼 보이지만 만일을 대비하여 커널이 더 큰 디스크를 인식하는지 확인하십시오

    echo 1 > /sys/class/scsi_disk/0:0:0:0/device/rescan
    
  2. 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. 가상 머신 재부팅

    shutdown -r now
    
  4. 백업되면 LVM 물리 볼륨의 크기를 조정하십시오

    pvresize /dev/sda2
    
  5. 이제 LVM 논리 볼륨의 크기를 조정하십시오 ( 참고 : 논리 볼륨 이름이 스크린 샷을 기반으로하는 이름을 해독 할 수 없으므로 가정 LogVol00합니다.를 실행하여이를 확인할 수 있습니다 lvdisplay.)

    lvresize -l +100%FREE /dev/VolGroup00/LogVol00
    
  6. 마지막으로 파일 시스템의 크기를 조정하십시오

    resize2fs -p /dev/VolGroup00/LogVol00
    
  7. 파일 시스템이 더 큰지 확인

    df -h
    
  8. 끝난


이후 재부팅이되지 않았습니다 fdisk. partprobe거기서 사용하십시오 . SCSI 재검색은 흥미 롭습니다. 사용중인 디스크에서 작동합니까?
Nils

1
파티에 늦게 : p partprobe가 사용중인 파티션을 다시 읽지 않는 문제가있어 거의 모든 경우에 재부팅됩니다. SCSI 재검색은 사용중인 디스크에서만 잘 작동합니다. dmesg디스크가 새로운 크기로 보이는지 확인할 수 있습니다
TheDude

xen-pv-disks에 대한 scsi-rescan은 없습니다. 그러나 그것은 또 다른 주제입니다.
Nils

1
대단히 감사합니다. 지시 사항이 완벽하게 작동했습니다!
Chris Haas

1 단계 (에코 및 재 스캔) 후 무엇을 찾아야합니까? 커널이 여분의 공간을 인식하는지 어떻게 알 수 있습니까?
Jeff

4

아래 단계는 Centos 6 EXT4 VPS를 실행하는 VMWare EXSi 5.5에서 파티션을 12G에서 26GB로 확장했습니다.

1) 장치 이름 (기본적으로 / dev / sda)을 식별하고 다음 명령을 실행하여 새 크기를 확인하십시오.

# fdisk -l

2) / 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) 새로운 기본 파티션 생성

# 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) Centos 6.X를 재부팅 한 다음 루트 권한으로 다시 로그인하십시오.

# reboot

5) 새 파티션이 준비되었는지 확인하고 '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) 물리 볼륨을 만듭니다.

# pvcreate /dev/sda3

Physical volume "/dev/sda3" successfully created

7) 볼륨 그룹 이름을 찾으십시오.

# vgdisplay

--- Volume group ---
VG Name               vg_app1
...

8) 물리 볼륨을 확장합니다 :

# vgextend vg_app1 /dev/sda3

Volume group "vg_app1" successfully extended

9) 기존 볼륨 그룹을 새로운 물리 볼륨으로 확장합니다 (+ 100 % FREE를 원하는 크기로 변경할 수 있음). 루트 파티션을 확장하고 있으므로 vg_app1 볼륨 그룹에서 lv_root를 가리 킵니다.

# 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) 논리 루트 볼륨 크기를 조정하십시오.

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

참고 : resize2fs 대신 ext2online을 사용하십시오 (Red Hat 가상 머신 인 경우).

11) 사용 가능한 공간을 확인하십시오.

# 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

쉬운. 루트로 VM으로 이동하십시오. "fdisk -l"을 입력하십시오. 이미 새로운 디스크 크기가 표시되면 정상입니다.

그렇지 않은 경우-시도 partprobe-여전히 새 디스크 크기가 표시되지 않으면 재부팅하십시오.

지금 fdisk /dev/sda

  1. 두 번째 파티션의 시작 실린더를 기록하십시오.
  2. 두 번째 "삭제"
  3. 두 번째 partiton, 동일한 시작 실린더, 마지막 실린더를 다시 만듭니다.
  4. 재 작성된 파티션 유형을 8e (LVM)로 설정
  5. 변경 사항을 작성하고 fdisk를 종료하십시오.
  6. partprobe
  7. pvresize /dev/sda2

이제 VG VolGroup00의 공간이 20GB 더 큽니다. 당신이 좋아하는 것을하십시오. 실제 시스템에서와 마찬가지로 (LV 크기를 조정 한 다음 FS 크기를 조정)


echo 1> / sys / class / scsi_disk / 0 \ : 0 \ : 0 \ : 0 / device / rescan은 재부팅하지 않고 마술을 다시 스캔합니다
andrej

@andrej 디스크를 사용하고 있어도?
Nils

예, 컨트롤러 쪽에서는 저수준의 마법이므로 마운트 된 디스크에서도 작동합니다. 드라이브에서 공간을 빼지 않고 드라이브를 확대해야합니다.
andrej

2

Gparted 라이브 CD ISO를 다운로드하십시오 . 그런 다음 ISO를 CentOS에 연결하고 라이브 CD로 부팅하십시오 (가상 머신 설정으로 이동하여 "CD / DVD"를 선택하고 오른쪽 패널에서 "Use ISO"를 선택하십시오). 그런 다음 크기를 조정할 파티션을 선택하십시오. 파티션 메뉴 (상단 메뉴 표시 줄)를 클릭 한 다음“크기 조정”을 클릭하십시오. 그런 다음 "편집"메뉴에서 "모든 작업 적용"을 선택하십시오.


로드했지만 드라이브에 잠금 아이콘이 있습니다. 이미지를 첨부했습니다
Andrew


감사! 이 Particion Magic과 같은 응용 프로그램 제안에 +1.
jstuardo

0

여기서는 데이터를 잃지 않고 디스크를 5GB에서 7GB로 확장하기 위해 샘플 파티션을 사용하고 있습니다. 사용 가능한 여유 공간에 따라 변경할 수 있습니다.

디스크를 늘리기 전에 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

지금 VM을 종료하십시오.

이제 /dev/sdb명령 프롬프트에서 VMware에서 기존 가상 디스크 ( ) 를 늘리겠습니다 . 참고 :이 작업은 VM의 전원이 꺼진 경우에만 수행해야합니다.

가상 디스크 위치로 이동하십시오.

# vmware-vdiskmanager -x  7Gb RedHatEnterprise_Linux_4-0.vmdk

이제 가상 디스크를 7Gb로 확장합니다.

이제 VM의 전원을 켜야합니다. PuTTY 또는 콘솔을 루트 사용자로 사용하여 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

여전히 오래된 크기를 보여줍니다. 증가시킬 파티션을 마운트 해제하십시오.

# umount /dev/sdb1

디스크에서 파일 시스템 복구를 실행하십시오.

# fsck -n /dev/sdb1

이제 디스크에서 저널을 제거하여 ext2 파일 시스템으로 만들었습니다.

# tune2fs -O ^has_journal /dev/sdb1

이제 파티셔닝 /dev/sdb을 시작 하여 증가 된 공간을에 할당하십시오 /dev/sdb1. 참고 : 당황하지 마십시오. 여기에서 데이터가 손실되지 않습니다.

기존 /dev/sdb1공간을 제거하고 사용 가능한 여유 공간과 함께 다시 작성 중입니다.

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

이제 파티션을 적용하기 위해 Linux 시스템을 다시 시작하십시오 (도 사용할 수 있습니다 partprobe. 시스템을 다시 시작하는 것이 좋습니다).

# shutdown now -r

이제 확장 파일 시스템을 다시 한 번 확인하십시오.이 단계를 건너 뛰면 resize2fs명령을 실행하는 것이 좋습니다.

# 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

이제 파일 시스템의 크기를 조정하십시오.

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

이제 파일 시스템을 확인하십시오.

# 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

이제 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.

ext3 파일 시스템을 효과적으로 사용하려면 Linux 시스템을 한 번 다시 시작하십시오.

# shutdown -r now

다시 한 번 루트 권한을 사용하여 Linux 상자에 로그인합니다. 이제 파티션이 7GB로 증가했습니다.

# 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

저널을 제거한 다음 복원하는 이유는 무엇입니까? ext3 파일 시스템뿐만 아니라 ext3 파일 시스템도 확장 할 수 있습니다. 또한 퍼즐의 큰 조각이 하나도 없습니다. 확장 할 파티션이 LVM에 있습니다.
Gilles 'SO- 악한 중지'

0

방금 VMware에서 CentOS 6.4로이 작업을 수행했습니다. 답변 번호 1은 맞지만 발견 한 한 단계가 없습니다.

Gparted에서는 잠금 아이콘이 있습니다.

파티션이있는 행에서 잠금 아이콘이 있으면 마우스 오른쪽 단추를 클릭하고 "비활성화"를 선택하십시오. 자물쇠가 사라집니다.

그런 다음 마우스 오른쪽 버튼을 클릭하고 파티션 크기를 변경할 수 있습니다.

그런 다음 변경 사항을 적용하십시오.

그런 다음 마우스 오른쪽 버튼을 클릭하고 "활성화"를 선택하십시오.


0

-r스위치를 에 추가하여 5 단계와 6 단계를 하나로 만들 수 있습니다 lvresize. 즉 편리해집니다 lvresize실행 resize2fs에 필요한 PARAMS 자동 :

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

* nix StackExchange에 오신 것을 환영합니다!

0

VMWare의 CentOS 6.6의 경우 다음을 수행하여 30GB에서 40GB로 증가했습니다 (LVM을 사용하지 않고 일반 기본 Linux 파티션 (ID 83) 만 사용함).

참고 : 데이터가 손실 될 경우 먼저 VM을 백업하십시오. 모든 것이 잘 되어도 데이터를 잃어 버리지 않아야합니다.

  1. VMWare는 VM에 사용할 수있는 크기를 조정하기 위해 VM을 시작하기 전에 VM을 편집 할 때 GUI를 제공했습니다. 나는 이것을 사용하고 40GB로 확장했다.
  2. 그런 다음 CentOS를 부팅하고 루트로 'fdisk -l'을 실행했습니다. 새로운 공간을 볼 수있었습니다. 그런 다음 'df -h'를 실행하여 이전 파티션이 여전히 존재하는지 확인했습니다.
  3. 그런 다음 'cfdisk / dev / sda'를 실행하고 파티션을 보여주는 텍스트 GUI를 얻었습니다. 필자의 경우 크기를 조정하려는 파티션은 / dev / sda3이며 마지막 파티션이었습니다.
  4. 그런 다음 cfdisk를 사용하여 파티션을 삭제 한 다음 사용 가능한 공간이 모두있는 새 파티션을 만듭니다. 변경 사항을 작성하고 종료했습니다.
  5. 그런 다음 VM을 재부팅했습니다 (지금 종료 -r).
  6. 다시 부팅 한 후 'resize2fs / dev / sda3'을 사용했습니다. 여기서 / dev / sda3은 내가 만든 파티션입니다. 이것은 자동으로 크기 조정을 완료했습니다.
  7. 이제 'df -h'로 새로운 전체 크기를 볼 수 있습니다.

이 페이지와 http://positon.org/resize-an-ext3-ext4-partition 의 답변 조합에서 찾은 정보


0

또 다른 방법은 파티션 대신 전체 디스크에 걸쳐있는 LVM을 만드는 것입니다.

이 경우 다음 방법을 사용하여 디스크를 핫 추가 할 수 있습니다

blockscan --rereadpt /dev/<PV disk
pvresize /dev/<PV disk>
# The associated VG is now resized
lvresize /dev/mapper/<LV> -r -l +100%FREE

0

때로는해야 할 일

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

새 디스크를 작성하는지 또는 기존 디스크를 확장하여 어떤 유형의 재검색이 필요한지에 따라 다릅니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.