디스크를 파티션하는 이유는 무엇입니까?

디스크를 파티션하는 이유는 무엇입니까?

특히 루트 디스크나 운영 체제 디스크의 경우 디스크를 더 작은 파티션으로 분할하는 것이 중요하다는 내용을 여러 번 읽었지만 그렇게 해야 할 타당한 이유를 찾지 못했습니다. 일반적인 변명은 데이터 보안을 강화한다는 것입니다. 디스크가 OS/데이터 파티션(예: /, /usr, /usr/local, /home 등)으로 분할된 경우 또는 Windows C: (OS) , D: ( Data)) 장애가 발생하여 정보만 손실된 경우 다른 정보를 손상시키지 않고 운영 체제를 다시 설치하거나 백업에서 데이터를 복원할 수 있습니다. 우리 중 대부분(알겠습니다, 우리 중 다수)(알겠습니다, 우리 중 일부)은 OS용으로 SSD를 사용하고 데이터용으로 HDD를 사용하며, (아마도) 모두 파티션당 파티션이 하나만 있기 때문에 논쟁은 기껏해야 그럴싸하거나 원시적인 것처럼 보입니다. . SSD를 사용하지 않더라도 HDD는 매우 저렴하고 별도의 드라이브 두 개를 사용하는 것이 합리적이므로 대부분의 경우 디스크에 하나의 파티션만 있습니다.

이 기사의 요점은 다음과 같습니다. 디스크 전체에 단일 파티션이라도 디스크를 파티션하는 이유는 무엇입니까? 최근에 몇 가지 실험을 해보니 Windows는 파티션되지 않은 디스크로는 아무 것도 할 수 없지만 Linux와 일부 다른 Unices(OpenBSD 제외)에는 전혀 문제가 없다는 사실을 발견했습니다.

# mkfs.ext4 /dev/sdb
mke2fs 1.42.5 (29-Jul-2012)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
262144 inodes, 1048576 blocks
52428 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
# mount /dev/sdb /mnt
# ls -l /mnt
drwx------  2 root root 16384 Dec 10 06:30 lost+found/
# mkdir /mnt/test
# ls -l /mnt
drwx------  2 root root 16384 Dec 10 16:30 lost+found
drwx------  2 root root  4096 Dec 10 16:31 test
# umount /mnt

그럼 왜 귀찮게?

답변1

보안(잘못 계산하면 관리상의 어려움이 더 커질 수 있음) 내 OpenBSD 데스크탑에서:

/dev/sd0b none swap sw
/dev/sd0a / ffs rw,softdep 1 1
/dev/sd0k /home ffs rw,nodev,nosuid,softdep 1 2
/dev/sd0d /tmp ffs rw,nodev,nosuid,noexec 1 2
/dev/sd0f /usr ffs rw,nodev 1 2
/dev/sd0g /usr/X11R6 ffs rw,nodev 1 2
/dev/sd0h /usr/local ffs rw,nodev 1 2
/dev/sd0j /usr/obj ffs rw,nodev,nosuid,noatime,async 1 2
/dev/sd0i /usr/src ffs rw,nodev,nosuid,noatime,async 1 2
/dev/sd0e /var ffs rw,nodev,nosuid 1 2

이점: 내용이 가득 차거나 /var다른 /home파티션에 문제를 일으키지 않습니다. 임시 파티션을 소유 noatime하고 async더 높은 성능을 위해 설정할 수 있습니다. 비장치 파티션은 장치를 허용하지 않으므로 kmem이러한 장치 중 하나 또는 다른 장치가 악의적인 목적으로 생성되는 것을 방지하는 데 도움이 될 수 있습니다. 또한 nosuid다양한 임의 파일 시스템에서 생성된 파일을 실수로 삭제하지 마십시오.

전체 디스크를 채울 수 있는 큰 파티션(아, /tmp로그인하려면 Kerberos 티켓을 생성하기 위해 작성해야 합니까? 죄송합니다...), 아마도 임의 장치 및 Suid 바이너리를 생성할 수 있으며 성능은 없습니다. 다양한 요구에 맞게 이 큰 파티션을 조정할 수 있습니다.

어떤 스타일이 적합한지는 운영 체제, 사이트, 시스템 목적, 관리 용이성 등에 따라 다릅니다.

관련 정보