gth*_*gth 49 partitioning fstab ext4 hard-drive fdisk
分区(例如fdisk) 有
哪些有用的命令可用于从命令行对附加硬盘进行分区?由于大多数已发布的指南都针对 GParted 和其他图形实用程序,因此一些命令行序列的摘要会有所帮助。
调整- 保留空间、回写和访问时间
如何删除保留的磁盘空间(默认情况下),以防驱动器变得 100% 已满。由于 I 是仅用于“数据”的辅助驱动器,因此删除保留区域可确保整个驱动器可供使用。
我也很好奇直写与回写以及跳过访问时间的更新(在文件和目录上)以提高性能。
gth*_*gth 75
首先也是最重要的:
这些命令是示例。删除分区、修改和格式化文件系统会破坏数据和/或可能会阻止您的机器启动。进行备份。使用风险自负。在您不介意丢失所有数据的机器上尝试。警告管理员。
查看检测到的“磁盘”类设备
lshw -C disk
Run Code Online (Sandbox Code Playgroud)查看现有分区表
fdisk -l
Run Code Online (Sandbox Code Playgroud)编辑我选择的设备的分区表(在本例中为“sdx”)
fdisk /dev/sdx
Run Code Online (Sandbox Code Playgroud)
在 FDISK 中,按:
d......到d elete当前分区
n...创建一个ñ EW分区
p...将其指定为P RIMARY 分区
1...将其设置为1 ST 主分区
w......到W¯¯仪式的变化。
显示新的分区表:
fdisk -l
Run Code Online (Sandbox Code Playgroud)将新分区的文件系统格式化为类型 ext4
mkfs -t ext4 /dev/sdx1
Run Code Online (Sandbox Code Playgroud)创建一个新目录,新驱动器将挂载到该目录中:
mkdir /storage
mount /dev/sdx1 /storage
Run Code Online (Sandbox Code Playgroud)调谐
删除保留块(即设置为 0%),因为此驱动器仅用于用户数据
tune2fs -m 0 /dev/sdx1
Run Code Online (Sandbox Code Playgroud)由于服务器在 UPS 上,因此设置回写以便应用程序不会等待实际磁盘写入
tune2fs -o journal_data_writeback /dev/sdx1
Run Code Online (Sandbox Code Playgroud)使用启动时挂载/etc/fstab并设置回写策略
vi /etc/fstab
Run Code Online (Sandbox Code Playgroud)查找(或添加)fstab驱动器的相关行。fstab 中的参数用空格分隔,例如上面描述的驱动器可能显示为:
/dev/sdx1 /storage ext4 relatime,errors=remount-ro 0 1
Run Code Online (Sandbox Code Playgroud)
dump备份时间表;和,fsck顺序)。将选项(第 4 个参数)更改为:
noatime,nodiratime,data=writeback,barrier=0,nobh,errors=remount-ro
Run Code Online (Sandbox Code Playgroud)
重新启动以检查一切是否顺利。
记住这些命令是破坏性的!有备份并小心!
Fra*_*urt 20
parted下面是使用parted(在 Ubuntu 14.04.4 LTS x64 上测试)在新硬盘上创建新 ext4 分区的说明。parted支持GUID 分区表 (GPT),随后可用于 2TB 以上的分区,与fdisk.
使用sudo lshw -C disk *-disk即可看到新的硬盘驱动器的逻辑名称:
description: ATA Disk
product: ST6000NM0024-1HT
vendor: Seagate
physical id: 0.0.0
bus info: scsi@1:0.0.0
logical name: /dev/sdb
version: SN05
serial: Z4D30T30
size: 5589GiB (6001GB)
configuration: ansiversion=5 sectorsize=4096
Run Code Online (Sandbox Code Playgroud)
逻辑名称是/dev/sdb. 我们可以开始:
sudo parted /dev/sdb mklabel gpt # Creating the GUID Partition Table (GPT)
Run Code Online (Sandbox Code Playgroud)
使用sudo parted /dev/sdb print,我们可以看到 GPT 已创建:
username@server:~$ sudo parted /dev/sdb print
Model: ATA ST6000NM0024-1HT (scsi)
Disk /dev/sdb: 6001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
Run Code Online (Sandbox Code Playgroud)
我们还需要知道磁盘的大小(我们将使用 MB 作为单位):
sudo parted /dev/sdb print unit MB print free
Run Code Online (Sandbox Code Playgroud)
这表明:
Disk /dev/sdb: 6001175MB
Run Code Online (Sandbox Code Playgroud)
我们现在可以创建主分区,以便它占用整个硬盘空间。设置分区标签:
sudo parted --align optimal /dev/sdb mkpart primary ext4 0% 6001175MB
Run Code Online (Sandbox Code Playgroud)
(如果您想知道我们为什么使用,请参阅https://unix.stackexchange.com/a/49274/16704--align optimal)
使用sudo parted /dev/sdb print,我们可以看到主分区标签已创建:
username@server:~$ sudo parted /dev/sdb print
Model: ATA ST6000NM0024-1HT (scsi)
Disk /dev/sdb: 6001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 6001GB 6001GB xfs primary
Run Code Online (Sandbox Code Playgroud)
然后我们需要使用mkfs来实际创建分区:
sudo mkfs.ext4 /dev/sdb1
Run Code Online (Sandbox Code Playgroud)
分区现已创建,我们需要挂载它。为此,sudo nano /etc/fstab并添加以下行(/crimea是我们选择挂载新分区的文件夹):
/dev/sdb1 /crimea ext4 defaults 0 0
Run Code Online (Sandbox Code Playgroud)
我们创建文件夹并重新加载/etc/fstab:
sudo mkdir /crimea
sudo mount -a # Remount /etc/fstab without rebooting in Linux
Run Code Online (Sandbox Code Playgroud)
您可以使用df -h以下命令查看新安装的分区:
/dev/sdb1 5.5T 58M 5.2T 1% /crimea
Run Code Online (Sandbox Code Playgroud)
在 中sudo nano /etc/fstab,/dev/sdb1您可以使用 its ,而不是使用它UUID,您可以通过以下方式找到它sudo lshw -C volume:
*-volume
description: EXT4 volume
vendor: Linux
physical id: 1
bus info: scsi@1:0.0.0,1
logical name: /dev/sdb1
logical name: /crimea
version: 1.0
serial: c3559307-795b-66db-9844-8e974c88a1cf
size: 200MiB
capacity: 5589GiB
capabilities: journaled extended_attributes huge_files dir_nlink extents ext4 ext2 initialized
configuration: created=2016-06-24 14:56:55 filesystem=ext4 lastmountpoint=/boot modified=2016-07-01 17:15:55 mount.fstype=ext4 mount.options=rw,relatime,data=ordered mounted=2016-07-01 17:07:19 name=primary state=mounted
Run Code Online (Sandbox Code Playgroud)
否则你可以简单地做sudo blkid /dev/sdb1:
/dev/sdb1: UUID="c3559307-795b-66db-9844-8e974c88a1cf" TYPE="ext4"
Run Code Online (Sandbox Code Playgroud)
新行将/etc/fstab是:
UUID=c3559307-795b-66db-9844-8e974c88a1cf 5.5T 58M 5.2T 1% /crimea
Run Code Online (Sandbox Code Playgroud)
https://unix.stackexchange.com/a/137868/16704解释了为什么最好使用 UUID (liquidat, cc by-sa 3.0):
使用 UUID 的优点是它独立于操作系统为您的硬盘提供的实际设备编号。映像您向系统添加了另一个硬盘,由于某种原因,操作系统决定您的旧磁盘现在
sdb是sba. 如果 fstab 指向设备名称,您的启动过程就会被搞砸。但是,在 UUID 的情况下,它会很好。
概括:
sudo lshw -C disk # Checking the location of the new drive. It is /dev/sdb.
sudo parted /dev/sdb mklabel gpt # Creating the GUID Partition Table (GPT)
sudo parted /dev/sdb print # Checking that the GPT has been created
sudo parted /dev/sdb print unit MB print free # see 6001175MB size
sudo parted --align optimal /dev/sdb mkpart primary ext4 0% 6001175MB # Creating partition label
sudo mkfs.ext4 /dev/sdb1 # Creating the partition
sudo nano /etc/fstab # Add line `/dev/sdb1 /crimea ext4 defaults 0 0`
sudo mount -a # Remount /etc/fstab without rebooting
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
188216 次 |
| 最近记录: |