Frage: Ich habe eine Festplatte, die größer als 2 TB ist. Ich kann mit fdisk keine Partition auf dieser>2-TB-Festplatte erstellen. Können Sie mir anhand eines Beispiels erklären, wie man eine Partition auf einer Festplatte erstellt, die größer als 2 TB ist, und zwar im parted- und GPT-Format?
Antwort: Wenn Sie fdisk verwenden, um eine Partition auf einer>2-TB-Festplatte zu erstellen, erhalten Sie die folgende Warnmeldung.
# fdisk /dev/sdb Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: The size of this disk is 5.9 TB (5908688535552 bytes). DOS partition table format can not be used on drives for volumes larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID partition table format (GPT).
Erstellen einer 2-TB-Partition mit Fdisk
Die Größe der Festplatte beträgt in diesem Beispiel etwa 6 TB. Sie können auf dieser Festplatte immer noch eine Partition für 2 TB mit fdisk erstellen, wie unten gezeigt.
# fdisk /dev/sdb1 Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-718357, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-267349, default 267349): Using default value 267349
Wie Sie oben sehen, ist der letzte Zylinderwert, der angezeigt wird, nur 267349 (was in diesem Beispiel ungefähr 2 TB entspricht), obwohl auf dieser Festplatte 718357 Zylinder verfügbar sind (dies entspricht insgesamt ungefähr 6 TB).
fdisk hat also eine Partition von 2 TB erstellt, wie unten gezeigt (obwohl die Festplattengröße etwa 6 TB beträgt).
Command (m for help): p Disk /dev/sdb: 5908.7 GB, 5908688535552 bytes 255 heads, 63 sectors/track, 718357 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x3dffd626 Device Boot Start End Blocks Id System /dev/sdb1 1 267349 2147480811 83 Linux
Partitionstabelle mit Parted mklabel auf GPT setzen
In unserem Fall müssen wir eine Partition>2 TB erstellen. Also sollten wir den parted-Befehl verwenden.
Bevor wir den Partitionsbefehl erstellen, sollten wir die Datenträgerbezeichnung auf GPT setzen.
GPT steht für GUID-Partitionstabellenformat (GPT).
Verwenden Sie den mklabel-Befehl von parted, um die Festplattenbezeichnung wie unten gezeigt auf GPT zu setzen.
# parted /dev/sdb GNU Parted 2.1 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) print Error: /dev/sdb: unrecognised disk label (parted) mklabel gpt (parted) print Model: Unknown (unknown) Disk /dev/sdb: 5909GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags
Erstellen Sie eine>2TB-Partition mit Parted mkpart
Verwenden Sie den mkpart-Befehl von parted wie unten gezeigt, um eine Partition zu erstellen, die größer als 2 TB ist. In diesem Beispiel erstellen wir eine Partition mit einer Größe von ungefähr 6 TB.
# parted /dev/sdb (parted) mkpart primary 0GB 5909GB (parted) print Model: Unknown (unknown) Disk /dev/sdb: 5909GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 1049kB 5909GB 5909GB primary
Um zu verstehen, wie Sie den Parted-Befehl effektiv verwenden, lesen Sie:9 Beispiele für Linux-Parted-Befehle.
Lassen Sie uns aus Neugierde sehen, wie diese>2-TB-Partition in fdisk angezeigt wird. Wie Sie unten sehen, wird die Größe immer noch mit ungefähr 2 TB angezeigt (unter den Blocks-Spalten). Es gibt jedoch ein + am Ende, das anzeigt, dass dies größer als 2 TB ist. In der Systemspalte wird „GPT“ angezeigt.
# fdisk /dev/sdb Command (m for help): print Disk /dev/sdb: 5908.7 GB, 5908688535552 bytes 255 heads, 63 sectors/track, 718357 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdb1 1 267350 2147483647+ ee GPT
Partition formatieren und mounten
Verwenden Sie mkfs, um die Partition zu formatieren. Dies dauert je nach Größe der Partition einige Zeit. Sie werden sehen, dass es „Schreiben von Inode-Tabellen“ ist und der Zähler wird weiter steigen. In diesem Beispiel dauerte es ungefähr 15 Minuten, um das mkfs abzuschließen.
# mkfs /dev/sdb1 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 360644608 inodes, 1442550528 blocks 72127526 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 44024 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, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848, 512000000, 550731776, 644972544 Writing inode tables: 3955/44024 Writing inode tables: 5022/44024 Writing inode tables: 7218/44024 Writing inode tables: done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 23 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
Hängen Sie schließlich diese>2TB-Partition ein.
# mkdir /data # mount /dev/sdb1 /data # df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 127G 1.6G 119G 2% / /dev/sdb1 5.3T 59M 5.1T 1% /data