클라우드 디스크 확장은 파일 시스템의 확장없이 스토리지 용량을 확장
첫째, 준비 작업
확장 데이터 디스크 확장 파티션 및 파일 시스템 전에 앞서 다음 작업을 완료합니다.
-
스냅 샷 생성 데이터가 손실 될 운영 실패를 방지하기 위해 데이터를 백업 할 수 있습니다.
-
ECS 콘솔 또는 API에 의해 확장 클라우드 디스크 용량 .
둘째, 파티션 형식 및 파일 시스템을 확인
예 ECS 운영체제에 CentOS 6.8 64 비트 데이터 디스크 장치 이름 / 디바이스 / VDB.
(1 개) 실행은 데이터 디스크 파티션 여부를 확인합니다.fdisk -lu <DeviceName>
"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> 파일 시스템의 종류를 확인합니다.
[루트 @ 테스트 ~] # 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 도구를.
- 실행
fdisk -u /dev/vdb
: 디스크 파티션의 데이터를. - 입력 p: 파티션 테이블을 인쇄 할 수 있습니다.
- 입력 d: 파티션을 삭제합니다.
- 입력 p: 파티션이 삭제 된 확인합니다.
- 입력 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 명령을.
- 실행
fdisk -u /dev/vdb
: 디스크 파티션의 데이터를. - 입력 p: 파티션 테이블을 인쇄 할 수 있습니다.
- 입력 n: 새 파티션을.
- 입력 p: 파티션 유형 주 파티션을 선택합니다.
- 입력 <分区号>: 파티션 번호를 선택합니다. 실시 예 1이 선택.
새 파티션의 시작 위치의 경고 및 이전 파티션의 시작 위치, 그렇지 않으면 실패의 확장으로 이어질 것, 이전 파티션의 끝 위치보다 커야합니다 끝 위치와 동일해야합니다.
- 입력 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 블록 깁니다.