다음은 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이 언급했듯이 오류 검사 코드를 추가해야 합니다.