[리눅스] 알리 클라우드 데이터 디스크 파티션 및 파일 시스템을 확장하는

클라우드 디스크 확장은 파일 시스템의 확장없이 스토리지 용량을 확장

첫째, 준비 작업

확장 데이터 디스크 확장 파티션 및 파일 시스템 전에 앞서 다음 작업을 완료합니다.

둘째, 파티션 형식 및 파일 시스템을 확인

예 ECS 운영체제에 CentOS 6.8 64 비트 데이터 디스크 장치 이름 / 디바이스 / VDB.

(1 개) 실행은 데이터 디스크 파티션 여부를 확인합니다.fdisk -lu <DeviceName>

이 예에서, 디스크 공간의 원래 데이터 파티션 행해졌 / 디바이스 / vdb1한다. "System"="Linux"이 경우 MBR 파티션 플레이트 포맷을 사용하여 데이터를 도시하고 "System"="GPT"디스크의 데이터 GPT 포맷을 사용한다.
 
[루트 @ 테스트 ~] # FDISK -lu / 디바이스 / VDB 

디스크 / 디바이스 / VDB : 1374.4 GB, 1,374,389,534,720 바이트 
16 개 헤드 63 섹터 / 트랙 2,663,050 실린더 총 2,684,354,560 섹터 
단위 = 1 * 512 = 512 바이트 섹터 
분야 크기 (논리 / 물리적) : 512 바이트 / 512 바이트 
I / O 크기 (최소 / 최적의) : 512 바이트 / 512 바이트 
디스크 식별자 : 0x7c4016b5 

   장치 부팅 시작 엔드 블록 아이디 시스템 
은 / dev / vdb1 63 2147483519 1073741728+ 83 리눅스

2, 실행 BLKID는 <PartitionName> 파일 시스템의 종류를 확인합니다.

이 예에서, 파일 시스템 유형은 / dev / vdb1이다 ext4에.
[루트 @ 테스트 ~] # BLKID는 / dev / vdb1 
는 / dev / vdb1 : UUID = "ee04ddf2-ad0f-40bc-9b5c-984be7e19283"TYPE = "ext4를"
 
설명은 분할되지 않고, 파일 시스템 데이터 디스크를 작성하지 않았고, 디스크가 분할되어 있지만 데이터 파일 시스템을 생성하기 위해서는 결과를 반환하지 않습니다.
[루트 @의 TEST2 ~] # BLKID는 / dev / vdb1 
[루트 @의 TEST2 ~] #

파일 시스템의 상태를 확인하기 위해 다음 명령을 실행합니다.

  • 내선 * 파일 시스템 :e2fsck -n <dst_dev_part_path>

  • XFS 파일 시스템 :xfs_repair -n <dst_dev_part_path>

이 예제를 경고, 파일 시스템 상태입니다 깨끗한. 상태가 아닌 경우 청소, 당신은 확인하고 수리 할 필요가있다.
[루트 @ 테스트 ~] # e2fsck를 -n는 / dev / vdb1 
e2fsck를 1.41.12 (17 월 - 2010) 
는 / dev / vdb1 : 깨끗하고 67,108,864분의 115,952 파일, 268,435,432분의 140,800,686 블록

셋째, 기존 MBR 파티션을 확장

확장 설치 파티션 및 파일 시스템을하지 않는 것이 좋습니다 데이터 손실을 방지하기 위해합니다. (마운트 해제하십시오 파티션 언 마운트 후), 확장 및 정상적인 사용, 재 마운트 (완료 마운트). 리눅스 커널의 다른 버전의 경우, 다음과 같은 방법을 권장합니다 :
  • 커널 버전 <3.6의 예 : 먼저 파티션을 마운트 해제 한 다음, 파티션 테이블, 파일 시스템의 마지막 확장을 수정합니다.
  • 커널 버전 ≥ 3.6의 예 : 해당 파티션 테이블을 수정 한 다음 커널 파티션 테이블, 파일 시스템의 마지막 확장을 업데이트 통지합니다.

기존 MBR 파티션의 확장을위한 새로운 공간, 다음 단계는 예에서 확장을 완료하는 경우 :

1, 파티션 테이블을 수정

보기 디스크 정보

[루트 @ 테스트 ~] # FDISK -lu / 디바이스 / VDB 

디스크 / 디바이스 / VDB : 1374.4 GB, 1,374,389,534,720 바이트 
16 개 헤드 63 섹터 / 트랙 2,663,050 실린더 총 2,684,354,560 섹터 
단위 = 1 * 512 = 512 바이트 섹터 
분야 크기 (논리 / 물리적) : 512 바이트 / 512 바이트 
I / O 크기 (최소 / 최적의) : 512 바이트 / 512 바이트 
디스크 식별자 : 0x7c4016b5 

   장치 부팅 시작 엔드 블록 아이디 시스템 
은 / dev / vdb1 63 2147483519 1073741728+ 83 리눅스

마운트 경로 데이터 디스크를 확인, 파일 경로에 따라 파티션을 마운트 해제 완전히 제거 장착 파티션까지 반환됩니다.

| [루트 @ 테스트 ~] # 마운트 그렙 "는 / dev / VDB" 
/ 데이터 유형에서 ext4는 / dev / vdb1 (RW, relatime 옵션은 데이터 = 주문) 
[루트 @ 테스트 ~] # 언 마운트는 / dev / vdb1 
[루트 @ 테스트 ~] # 마운트 | 그렙 "는 / dev / VDB"

사용하여 기존의 파티션을 제거하는 Fdisk 도구를.

  1. 실행 fdisk -u /dev/vdb: 디스크 파티션의 데이터를.
  2. 입력 p: 파티션 테이블을 인쇄 할 수 있습니다.
  3. 입력 d: 파티션을 삭제합니다.
  4. 입력 p: 파티션이 삭제 된 확인합니다.
  5. 입력 w: 변경 사항을 저장하고 종료.
VDB [루트 @ 테스트 ~] # fdisk를 -u는 / dev / 

경고 : DOS 호환 모드는 지원되지 않습니다. 강력하게하는 것이 좋습니다 
         모드 (명령 'C')를 끕니다. 

명령 (도움 m) P의 

디스크 / 디바이스 / VDB : 1374.4 GB, 1,374,389,534,720 바이트 
16 개 헤드 63 섹터 / 트랙 2,663,050 실린더 총 2,684,354,560 섹터 
단위 = 1 * 512 = 512 바이트의 섹터 
의 섹터 크기 (논리 / 물리) : 512 바이트 / 512 바이트는 
I / O의 크기 (최소 / 최적) : 512 바이트 / 512 바이트 
디스크 식별자 : 0x7c4016b5 

   장치 부팅 시작 끝 블록 이드 시스템 
/ 디바이스 / vdb1 63 2,147,483,519 1073741728+ 83 리눅스 

커맨드 (도움 m) : d 
선택한 파티션 1 

명령 (도움 m) : P

디스크 / 디바이스 / VDB : 1374.4 GB, 1,374,389,534,720 바이트 
16 개 헤드 63 섹터 / 트랙 2,663,050 실린더 총 2,684,354,560 섹터 
단위 = 1 * 512 = 512 바이트의 섹터 
(논리 / 물리) 섹터 크기 : 512 바이트 / 512 바이트 
I / O 크기 (최소 / 최적은) 512 바이트 / 512 바이트 
디스크 식별자 : 0x7c4016b5 

   장치 부팅 시작 엔드 블록 아이디 시스템 

명령 (도움 m은) 승 
파티션 테이블 변경되었습니다! 

IOCTL ()를 호출하는 파티션 테이블을 다시 읽어보십시오. 
디스크를 동기화.

사용하여 새 파티션을 만들기 위해 fdisk 명령을.

  1. 실행 fdisk -u /dev/vdb: 디스크 파티션의 데이터를.
  2. 입력 p: 파티션 테이블을 인쇄 할 수 있습니다.
  3. 입력 n: 새 파티션을.
  4. 입력 p: 파티션 유형 주 파티션을 선택합니다.
  5. 입력 <分区号>: 파티션 번호를 선택합니다. 실시 예 1이 선택.
    새 파티션의 시작 위치의 경고 및 이전 파티션의 시작 위치, 그렇지 않으면 실패의 확장으로 이어질 것, 이전 파티션의 끝 위치보다 커야합니다 끝 위치와 동일해야합니다.
  6. 입력 w: 변경 사항을 저장하고 종료.

이 예에서는, 1,280 지브에 의해 팽창 / 디바이스 / vdb1 1,024 지브.

VDB [루트 @ 테스트 ~] # fdisk를 -u는 / dev / 

경고 : DOS 호환 모드는 지원되지 않습니다. 강력하게하는 것이 좋습니다 
         모드 (명령 'C')를 끕니다. 

명령 (도움 m) P의 

디스크 / 디바이스 / VDB : 1374.4 GB, 1,374,389,534,720 바이트 
16 개 헤드 63 섹터 / 트랙 2,663,050 실린더 총 2,684,354,560 섹터 
단위 = 1 * 512 = 512 바이트의 섹터 
의 섹터 크기 (논리 / 물리) : 512 바이트 / 512 바이트 
I / O 크기 (최소 / 최적의) : 512 바이트 / 512 바이트 
디스크 식별자 : 0x7c4016b5 

   장치 부팅 시작 엔드 블록 아이디 시스템 

명령 (도움 m) : N 
명령 조치 
   전자 확장 
   P는 주 파티션 (1 4) 
(P)의 
분할 수 (1-4) : w 
분할 수 (1-4) : (1) 
첫 번째 섹터 (63-2684354559 기본적 63) 
기본값 63 사용 
마지막 섹터, 섹터 또는 + + 크기 {K, M, G} (63-2684354559 기본적를 2,684,354,559) 
하여 기본적 값 2684354559 

명령 (도움 m은) 승 
파티션 테이블 변경되었습니다! 

IOCTL ()를 호출하는 파티션 테이블을 다시 읽어보십시오. 
디스크를 동기화.

실행 파티션 테이블이 증가 있도록.lsblk /dev/vdb

실행 파티션의 확장이 확인한 후 파일 시스템, 파일 시스템 상태를 확인할 다시 깨끗한.e2fsck -n /dev/vdb1

2, 커널 업데이트를 파티션 테이블을 통보

실행 partprobe <dst_dev_path>또는 partx -u <dst_dev_path>커널 데이터 디스크의 파티션 테이블을 알려주는 것은, 수정 업데이트를 동기화 할 필요가있다.

3, 파일 시스템 확장

내선 * (예 : ext3, 및 ext4에 같은) 파일 시스템 : 실행 resize2fs /dev/vdb1및 파티션을 다시 마운트합니다.

[루트 @ 테스트 ~] # resize2fs / 디바이스 / vdb1 
resize2fs 1.42.9 (28 ~ 12 2013)은 
7,864,320 (4K) 블록 / 디바이스 / vdb1에 파일 시스템 크기 조정. 
는 / dev / vdb1의 파일 시스템은 이제 7864320 개 블록 깁니다. 
[루트 @ 테스트 ~] #는 / dev에 / vdb1 / 데이터를 마운트

XFS 파일 시스템을 실행 mount /dev/vdb1 /data/명령을, 다음 실행 xfs_growfs /dev/vdb1.

[루트 @ 테스트 ~] # / 디바이스 / vdb1 / 데이터 / 마운트 
[루트 @ 테스트 ~] # xfs_growfs / 디바이스 / vdb1 
메타 데이터 = / 디바이스 / vdb1 ISIZE = 512 agcount = 4 agsize = 1,310,720 BLK의 
         = sectsz = 512 ATTR = 2 projid32bit = 1 
         = CRC = 1 finobt = 0 spinodes = 0 
= bsize = 4096 개 블록 = 5,242,880, imaxpct = 25 데이터 
         = sunit = 0 swidth = 0 BLK의 
이름 = 버전 2 bsize = 4096 아스키 CI = 0 FTYPE = 1 
= 4096 개 블록 = 2560 버전 = 2 로그 = 내부 bsize 
         = sectsz = 512 sunit = 0 BLK의, 지연 카운트 = 1 개 
실시간 = 없음 extsz = 4096 개 블록 = 0, = 0 rtextents
데이터 블록에 7,864,320 5,242,880 변경

넷째, 새로운 MBR 파티션 및 포맷

새로운 MBR 파티션을 추가 실시 예에서 확장 단계의 완료를 다음의 새로운 공간 경우 :

실행 fdisk -u /dev/vdb명령 새 파티션.

이 예에서, 새로운 파티션 같이 20GiB 추가 / 디바이스 / vdb2 사용.

[루트 @ 테스트 ~] # fdisk를 -u는 / dev / VDB 
FDISK에 오신 것을 환영합니다 (폴더의 유틸리티 - 리눅스 2.23.2). 

당신이 그들을 쓰기로 결정 때까지 변화는 메모리에만 유지됩니다. 
쓰기 commad을 사용하기 전에주의해야합니다. 

명령 (도움 m) P의 

디스크 / 디바이스 / VDB : 42.9 GB, 42,949,672,960 바이트 83,886,080 섹터 
단위 = 1 * 512 = 512 바이트의 섹터 
(논리 / 물리) 섹터 크기 : 512 바이트 / 512 바이트 
I / O 크기 ( 최소) / 최적 : 512 바이트 / 512 바이트 
디스크 라벨 종류 : 도스 
디스크 식별자 : 0x2b31a2a3 

   장치 부팅 시작 엔드 블록 아이디 시스템 
은 / dev / vdb1 2048 41,943,039 20,970,496 (83) 리눅스 

도움을 명령 (m) : N 
파티션 유형 :
   P는 기본 (1 차, 0 확장은 3 무료) 
   전자 확장 
페이지의 : 선택 (기본 P) 
파티션 번호 (2-4, 기본 2) : 2 
: 첫 번째 섹터 (41943040-83886079, 기본 41943040)를 
디폴트 값을 41943040 사용 
마지막 부문 , + 섹터 또는 + 크기 {K, M, G} (41943040-83886079 기본적 83,886,079) 
사용 기본값 83,886,079 
설정된 20 지브 형 리눅스와 크기의 파티션 2 

명령 (도움 m) : W- 
파티션 테이블을 가지고 변경된! 

IOCTL ()를 호출하는 파티션 테이블을 다시 읽어보십시오. 
디스크를 동기화.

명령을 실행하여 lsblk /dev/vdb파티션을 볼 수 있습니다.

VDB [루트 @ 테스트 ~] # lsblk / 디바이스 / 
NAME의 MAJ : MIN RM의 SIZE RO TYPE MOUNTPOINT 
VDB 253 16 0 40G 0 디스크 
├─vdb1 253 17 0 20G 0 부 
253 └─vdb2 18 0 20G 0 부

새 파티션을 포맷합니다.

ext4 파일 시스템을 생성합니다 :mkfs.ext4 /dev/vdb2

[루트 @ 테스트 ~] #은 mkfs.ext4는 / dev / vdb2 
mke2fs를 1.42.9 (28 ~ 12 월 - 2013) 
파일 시스템 레이블 = 
OS 유형 : 리눅스 
크기 = 4096 (로그 = 2) 블록 
조각의 크기 = 4096 (= 2 로그) 
스트라이드가 0 블록, 스트라이프 폭 = 0 블록 
1,310,720 inode를 5242880 개 블록 
수퍼 사용자 예약 262144 개 블록 (5.00 %) 
첫 번째 데이터 블록 = 0 
최대 파일 시스템 블럭 = 2,153,775,104 
160 블록 그룹 
그룹당 32768 개 블록 그룹 당 32,768 단편 
8192 개의 inode 그룹 당 
: 블록에 저장 수퍼 백업 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000 

할당하기 그룹 테이블 : 수행 
작성 아이 노드 테이블 : 완료
다 : 저널 (32768 개 블록) 만들기 
슈퍼 블록 및 파일 시스템 회계 정보를 작성 : 수행을 
[루트 @ 테스트 ~] # BLKID는 / dev / vdb2 
는 / dev / vdb2 : UUID = "e3f336dc-d534-4fdd - **** - b6ff1a55bdbb"TYPE = "ext4를"

ext3 파일 시스템을 생성합니다 :mkfs.ext3 /dev/vdb2

[루트 @ 테스트 ~] #다면 mkfs.ext3 / dev에 / vdb2 
mke2fs를 1.42.9 (28 ~ 12 월 - 2013) 
파일 시스템 레이블 = 
OS 유형 : 리눅스 
크기 = 4096 (로그 = 2) 블록 
조각의 크기 = 4096 (= 2 로그) 
스트라이드가 0 블록, 스트라이프 폭 = 0 블록 
1,310,720 inode를 5242880 개 블록 
수퍼 사용자 예약 262144 개 블록 (5.00 %) 
첫 번째 데이터 블록 = 0 
최대 파일 시스템 블럭 = 4294967296 개 
160 블록 그룹 
그룹당 32768 개 블록 그룹 당 32,768 단편 
8192 개의 inode 그룹 당 
: 블록에 저장 수퍼 백업 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000 

할당하기 그룹 테이블 : 수행 
작성 아이 노드 테이블 : 완료
다 : 저널 (32768 개 블록) 만들기 
슈퍼 블록 및 파일 시스템 회계 정보를 작성 : 일 
[루트 @의 ecshost ~] # BLKID는 / dev / vdb2 
SEC_TYPE UUID = "- - **** 5056def914ea dd5be97d-a630-4593"는 / dev / vdb2을 = "EXT2"TYPE = "EXT3"

XFS 파일 시스템을 만들기 :mkfs.xfs -f /dev/vdb2

[루트 @ 테스트 ~] # mkfs.xfs -f / 디바이스 / vdb2 
메타 데이터 = / 디바이스 / vdb2 ISIZE agcount = 512 = 4, agsize = 1,310,720 BLK의 
         = sectsz ATTR = 512 = 2, projid32bit = 1 
         = CRC = 1 finobt = 0, 희소 = 0 
데이터 = bsize = 4096 개 블록 = 5,242,880, imaxpct = 25 
         = sunit = 0 swidth = 0 BLK의 
이름 = 버전 2 bsize = 4096 아스키 CI = 0 FTYPE = 1 
로그 = 내부 로그 bsize = 4096 개 블록 = 2560 버전 = 2 
         = sectsz = 512 sunit = 0 BLK의, 지연 카운트 = 1 개 
실시간 = 없음 extsz = 4096 개 블록 = 0, = 0 rtextents 
[루트 @ 테스트 ~] # BLKID / 디바이스 / vdb2
는 / dev / vdb2 : UUID = "66251477-3ae4-4b44 - **** - 5604420dbecb"TYPE = "XFS"

btrfs를 파일 시스템을 생성합니다 :mkfs.btrfs /dev/vdb2

[루트 @ 테스트 ~] # mkfs.btrfs는 / dev / vdb2 
btrfs를-의 progs의 v4.9.1는 
자세한 내용은 http://btrfs.wiki.kernel.org를 참조하십시오. 

라벨 (NULL) 
UUID : 6fb5779b-57d7-4aaf-bf09-82b46f54a429 
노드 크기 : 16384 
섹터 크기 : 4096 
파일 시스템 크기 : 20.00GiB 
블록 그룹 프로필 : 
  데이터 : 단일 8.00MiB 
  메타 데이터 DUP 1.00GiB 
  시스템 : DUP 8.00MiB 
SSD 검출 없음 
Incompat 특징 아니오 EXTREF 스키니 - 메타 
소자의 수 : 1 개 
장치 : 
   ID 크기 PATH 
    1 20.00GiB / 디바이스 / vdb2
[루트 @ 테스트 ~] # BLKID는 / dev / vdb2 
는 / dev / vdb2 : UUID = "6fb5779b-57d7-4aaf - **** - 82b46f54a429"UUID_SUB = "9bdd889a-ab69-4653 - **** - d1b6b8723378"TYPE = "btrfs를"

실행 mount /dev/vdb2 /mnt파일 시스템을 마운트합니다.

실행 df -h현재 데이터 및 디스크 공간 사용을 참조하십시오.

마운트의 성공을 보여주는 새로운 파일 시스템 정보 표시 장치.
[루트 @ 테스트 ~] -h # 안양 
파일 시스템 크기 사용 소용 사용 %는에 장착이 
는 / dev는 / vda1 40G 1.6G 36G는 5 % / 
3.9G 0 3.9G 0 % / dev에 devtmpfs 
0 3.9G 0 %는 / dev / 3.9G의 tmpfs를 SHM은 
3.9G 460K 3.9G 1 % / 실행 tmpfs는 
의 tmpfs 3.9G 0 3.9G 0 % / SYS / FS / cgroup에 
는 / dev / vdb2 9.8G의 37M의 9.2G 1 % / MNT 
의 tmpfs 783M 0 783M 0 % / 실행 / 사용자 / 0

어떤 디스크 파티션이없는 경우 다섯째, 초점을 여기에, 하지만, 어떻게 어떻게 데이터를 할 수 있습니까?

1 뷰 디스크 케이스

[루트 @ 테스트 ~] # FDISK -lu / 디바이스 / VDB 

디스크 / 디바이스 / VDB : 1374.4 GB, 1,374,389,534,720 바이트 
16 개 헤드 63 섹터 / 트랙 2,663,050 실린더 총 2,684,354,560 섹터 
단위 = 1 * 512 = 512 바이트 섹터 
분야 크기 (논리 / 물리) : 512 바이트 / 512 바이트 
I / O의 크기 (최소 / 최적) : 512 바이트 / 512 바이트 
디스크 식별자 : 0x00000000의 

[루트 @ 테스트 ~] # BLKID / 디바이스 / VDB 
/ 디바이스 / VDB : UUID = "c7a3bad3 - - c0f9-4cdc 9778-15abb90953ab"SEC_TYPE = "EXT2"TYPE = "EXT3" 
[루트 @ 테스트 ~] # lsblk / 디바이스 / VDB 
NAME의 MAJ : MIN RM의 SIZE RO TYPE MOUNTPOINT 
VDB 252 16 0 0 1.3T 디스크

2 직접 확장

[루트 @ 테스트 ~] # e2fsck를 -f / dev에 / VDB 
e2fsck를 1.41.12 (17 월 - 2010 년) 
1 패스 : 확인 아이 노드, 블록 및 크기가 
2 패스 : 디렉토리 구조 확인 
패스 3 : 디렉토리 연결 확인 
패스 4 : 확인 참조 횟수가 
5 전달 : 확인 그룹 요약 정보 
는 / dev / VDB : 67,108,864분의 115,952 파일 (32.8 % 비 연속), 268,435,432분의 140,800,686 블록을 
[루트 @ 테스트 ~] # 
[루트 @ 테스트 ~] # resize2fs / dev에 / VDB 
resize2fs 1.41.12 (17 월 - 2010) 
335,544,312 (4K) 블록은 / dev / vdb1에 파일 시스템 크기 조정. 
는 / dev / VDB의 파일 시스템은 이제 335,544,312 블록 깁니다.

  

 

  

 

추천

출처www.cnblogs.com/chenpingzhao/p/11399022.html