bash + Linux에서 디스크 파티션을 자동으로 생성하는 방법

bash + Linux에서 디스크 파티션을 자동으로 생성하는 방법

다음은 rhel 서버 시스템의 예입니다.

lsblk
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sdb                  8:16   0   20G  0 disk /data/sdb
sdc                  8:32   0   20G  0 disk /data/sdc
sdd                  8:48   0   20G  0 disk /data/sdd
sde                  8:64   0   20G  0 disk /data/sde
sdf                  8:80   0   42G  0 disk
sdg                  8:96   0   42G  0 disk
sdh                  8:112  0   42G  0 disk

다른 디스크에 대한 디스크 파티션을 생성하고 싶지만 sdf,sdg,sdh이 모든 프로세스는 bash 스크립트를 통해 수행되어야 하며 프로세스를 자동화하고 싶습니다.

먼저 다음은 2디스크용 파티션을 생성하는 방법에 대한 예 입니다. 따라서 이 예에서는 각각 크기 sdf가 다른 두 개의 파티션을 생성합니다.10G

1단계(파티션 생성, 각 10G)

parted /dev/sdf
GNU Parted 3.1
Using /dev/sdf
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel msdos
(parted) mkpart primary 0 10024MB
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I
(parted)  mkpart primary 10024MB 20048MB
(parted) quit
Information: You may need to update /etc/fstab.

2단계(파일 시스템 ext4 생성)

mkfs.ext4 /dev/sdf1

mkfs.ext4 /dev/sdf2
   

이제 우리는 (예상 결과)

lsblk

sdf                  8:80   0   42G  0 disk
├─sdf1               8:81   0  9.3G  0 part
└─sdf2               8:82   0  9.3G  0 part

이 프로세스를 자동화할 수 있나요 parted? 아니면 다른 방법(예: via fdisk)을 통해서일까요?

Bash 스크립트에서 이 자동화된 프로세스를 사용하려면

인용하다 -https://www.tecmint.com/create-disk-partitions-in-linux/

답변1

parted는 선택적으로 스크립팅할 수 있습니다(--script/-s).

대화형으로 입력한 내용을 구현하기 위해 프로그램을 여러 번 호출할 수 있습니다.

parted --script /dev/sdf mklabel msdos
parted --script /dev/sdf mkpart primary 1 10024MB
parted --script /dev/sdf mkpart primary 10024MB 20048MB

mkfs를 계속 사용하세요...

팁: 경고를 피하기 위해 첫 번째 파티션을 1MB로 부팅했는데, 이는 오늘날 많은 배포판의 기본값이기도 합니다.

귀하의 질문에 대한 의견으로 MC68020이 언급했듯이 오류 검사 코드를 추가해야 합니다.

관련 정보