Merge pull request #4 from LCTT/master

update
This commit is contained in:
MjSeven 2018-04-11 22:11:40 +08:00 committed by GitHub
commit 121f89fde8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 119 additions and 131 deletions

View File

@ -1,95 +1,95 @@
怎样用 Parted 管理硬盘分区
怎样用 parted 管理硬盘分区
======
Translating by zyk2290
众所周知,硬盘分区对Linux管理员来说是其中一项最重要的管理任务,他们不能不知道这个。
众所周知,对硬盘分区是 Linux 管理员一项最重要的管理任务之一,他们不能不知道这个。
在最糟糕的时候,你至少每周一次会收到从依赖小组的请求,在大的环境里会更加频繁 。
在最糟糕的时候,你至少每周会收到一次依赖小组的请求,而在更大的环境里会更加频繁 。
你可能会问为什么我们要用Parted而不是fdisk? 有什么区别? 好问题, 我会告诉你这两者的区别。
你可能会问为什么我们要用 `parted` 而不是 `fdisk` 它们有什么区别?好问题,我会告诉你这两者的区别。
* Parted支持用户在大于2TB的硬盘上创建硬盘分区 但fdisk命令不支持
* 对比fdisk来说 Parted是一个更高级的工具
* 支持更多的分区表类型,包括GPT ( LCTT译者注全局唯一标识分区表 )。
* 它允许用户调整分区大小, 但当缩减分区空间的时候,它没有在我意料之内工作, 在大部分时候, 我会得到错误。 所以 我会建议用户不要用Parted来缩减分区大小。
* `parted` 支持用户在大于 2TB 的硬盘上创建硬盘分区, 但 `fdisk` 命令不支持
* 对比 `fdisk` 来说,`parted` 是一个更高级的工具
* 支持更多的分区表类型,包括 GPT LCTT 译注:全局唯一标识分区表)
* 它允许用户调整分区大小, 但当缩减分区空间的时候,它没有如我意料的工作,多数情况下我会得到错误消息。所以我会建议用户不要用 `parted` 来缩减分区大小。
### 什么是 parted
`parted` 是一个操作硬盘分区的程序。它支持多种分区表类型,包括 MS-DOS 和 GPT。
### 什么是 Parted
它允许用户创建、删除、调整、缩减、移动和复制分区,以及重新组织硬盘的使用,复制数据到新的硬盘上。`gparted` 是 `parted` 的图形界面前端。
Parted 是一个操作硬盘分区的程序. 它支持多种分区表类型,包括 MS-DOS和 GPT .
### 怎样安装 parted
它允许用户创建, 删除, 调整 ,缩减,移动和复制分区 ,以及重新组织硬盘的使用, 复制数据到新的硬盘上。GParted是parted的图形界面前端
大部分发行版已经预安装了 `parted`。如果没有,用下列命令来安装 `parted`
### 怎样安装Parted
对于 Debian/Ubuntu 用户, 使用 [APT-GET 命令][1] 或者 [APT 命令][2] 来安装 `parted`
大部分发行版已经预安装了Parted 如果没有, 用下列命令来安装Parted.
对于 **`Debian/Ubuntu`** 用户, 使用 [APT-GET Command][1] 或者 [APT Command][2] 来安装Parted。
```
$ sudo apt install parted
```
对于 **`RHEL/CentOS`** , 用 [YUM Command][3] 来安装parted。
对于 RHEL/CentOS 用户,用 [YUM 命令][3] 来安装 `parted`
```
$ sudo yum install parted
```
对于 **`Fedora`** , 用 [DNF Command][4] 命令来安装parted。
对于 Fedora 用户,用 [DNF 命令][4] 来安装 `parted`
```
$ sudo dnf install parted
```
对于 **`Arch Linux`** , 用 [Pacman Command][5] 命令来安装parted
对于 Arch Linux 用户,用 [Pacman 命令][5]来安装 `parted`
```
$ sudo pacman -S parted
```
对于 **`openSUSE`** , 用 [Zypper Command][6] 命令来安装parted。
对于 openSUSE 用户, 用 [Zypper 命令][6]来安装 `parted`
```
$ sudo zypper in parted
```
### 怎样启动Parted
### 怎样启动 parted
下面的 `parted` 命令会自动选择 `/dev/sda` ,因为这是系统的第一个硬盘。
下面的parted命令会自动选择 `/dev/sda` , 因为这是系统的第一个硬盘。
```
$ sudo parted
GNU Parted 3.2
GNU parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
Welcome to GNU parted! Type 'help' to view a list of commands.
(parted)
```
同时我们也可以用下面的命令来重新选择对应的的硬盘。
```
(parted) select /dev/sdb
Using /dev/sdb
(parted)
```
如果你想选择特定的硬盘, 用下列的格式来输入命令。 这次 ,我们将选择`/dev/sdb`.
如果你想选择特定的硬盘, 用下列的格式来输入命令。 这次 ,我们将选择 `/dev/sdb`
```
$ sudo parted [Device Name]
$ sudo parted /dev/sdb
GNU Parted 3.2
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
```
### 怎样用 Parted列出所有可用的硬盘
```
$ sudo parted /dev/sdb
GNU parted 3.2
Using /dev/sdb
Welcome to GNU parted! Type 'help' to view a list of commands.
(parted)
```
### 怎样用 parted 列出所有可用的硬盘
如果你不知道你的电脑上有什么硬盘,只需要运行下列命令,该命令会显示所有可用硬盘的名字,以及其它的有用信息比如储存空间、型号、扇区大小、硬盘标志以及分区信息。
如果你不知道你的电脑上有什么硬盘, 只需要运行下列命令,该命令会显示所有可用硬盘的名字, 以及其它的有用信息比如储存空间, 型号, 扇区大小,硬盘旗帜以及分区信息。
```
$ sudo parted -l
Model: ATA VBOX HARDDISK (scsi)
@ -108,26 +108,25 @@ Disk /dev/sdb: 53.7GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
```
上面的错误信息清晰地显示出硬盘 `/dev/sdb` 没有有效的硬盘标签 (disk label) 。 它不会自动选择硬盘标签 (disk label) ,所以, 我们便要自己设置硬盘标签 (disk label)
上面的错误信息清晰地显示出硬盘 `/dev/sdb` 没有有效的<ruby>磁盘标签<rt>disk label</rt></ruby>。 它不会自动得到磁盘标签,所以, 我们便要自己设置硬盘标签
### 怎样用Parted创建硬盘分区
### 怎样用 parted 创建硬盘分区
Parted允许用户创建主分区或者拓展分区。 创建这两种类型的分区的步骤还是一样,但请确保你已经指定了需要的分区类型,比如 `primary` 或者`extended`。
`parted` 允许用户创建主分区或者拓展分区。创建这两种类型的分区的步骤还是一样,但请确保你已经指定了需要的分区类型,比如 `primary` (主分区)或者 `extended` (扩展分区)
为了演示这项操作 ,我们安装了一个新的`50 GB` 的硬盘到到电脑上,挂载在`/dev/sdb`上
为了演示这项操作 ,我们安装了一个新的 `50 GB` 的硬盘到到电脑上,挂载在 `/dev/sdb`
有两种方法创建分区,第一种是更详细的方法,另一种只是一个命令。 在下面的例子中,我们将用更详细的方法添加一个主分区。提醒一下, 我们应该先设置 `硬盘标签`disk label,因为它不会自动设置任何标签。
有两种方法创建分区,第一种是更详细的方法,另一种只是一个命令。 在下面的例子中,我们将用更详细的方法添加一个主分区。提醒一下, 我们应该先设置磁盘标签,因为它不会自动设置任何标签。
在下面的例子中,我们将要创建一个`10 GB` 的分区
在下面的例子中,我们将要创建一个 `10 GB` 的分区
```
$ sudo parted /dev/sdb
GNU Parted 3.2
GNU parted 3.2
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
Welcome to GNU parted! Type 'help' to view a list of commands.
(parted) mklabel msdos
(parted) unit GB
(parted) mkpart
@ -147,38 +146,37 @@ Number Start End Size Type File system Flags
(parted) quit
Information: You may need to update /etc/fstab.
```
同时,我们也可以使用单条Parted命令
同时,我们也可以使用单条 `parted` 命令
在下面的例子中,我们将在硬盘上创建一个`10 GB` 的分区
在下面的例子中,我们将在硬盘上创建一个 `10 GB` 的分区
```
$ sudo parted [Disk Name] [mkpart] [Partition Type] [Filesystem Type] [Partition Start Size] [Partition End Size]
$ sudo parted /dev/sdb mkpart primary ext4 10.0GB 20.0GB
Information: You may need to update /etc/fstab.
```
### 怎样使用Parted用所有剩余空间创建分区
```
$ sudo parted /dev/sdb mkpart primary ext4 10.0GB 20.0GB
Information: You may need to update /etc/fstab.
```
你已经创建了所有要求的分区,除了`/home` ,而且你想要用硬盘上所有剩余的空间来创建`/home`分区,要怎样做?可以使用下面的命令来创建分区。
### 怎样使用所有剩余空间创建分区
下面的命令创建了一个 33.7 GB 的分区,从 `20 GB` 开始到 `53 GB`结束。 `100%` 使用率允许用户用硬盘上所有剩余的空余空间。
你已经创建了除了 `/home` 之外等所有要求的分区,而且你想要用硬盘上所有剩余的空间来创建 `/home` 分区,要怎样做?可以使用下面的命令来创建分区。
下面的命令创建了一个 33.7 GB 的分区,从 `20 GB` 开始到 `53 GB` 结束。 `100%` 使用率允许用户用硬盘上所有剩余的空余空间。
```
$ sudo parted [Disk Name] [mkpart] [Partition Type] [Filesystem Type] [Partition Start Size] [Partition End Size]
$ sudo parted /dev/sdb mkpart primary ext4 20.0GB 100%
Information: You may need to update /etc/fstab.
```
### 怎样用Parted列出所有的分区
### 怎样用 parted 列出所有的分区
你也许注意到了我们已经在上述步骤中创建了三个分区如果你想要列出所有在硬盘上可用的分区可以使用print命令。
你也许注意到了,我们已经在上述步骤中创建了三个分区,如果你想要列出所有在硬盘上可用的分区,可以使用 `print` 命令。
```
$ sudo parted /dev/sdb print
@ -192,12 +190,11 @@ Number Start End Size Type File system Flags
1 1049kB 10.0GB 9999MB primary ext4
2 10.0GB 20.0GB 9999MB primary ext4
3 20.0GB 53.7GB 33.7GB primary ext4
```
### 怎样用mkfs格式化分区
### 怎样用 mkfs 格式化分区
用户可以用mkfs命令格式化分区。下面的步骤会用mkfs来格式化分区。
用户可以用 `mkfs` 命令格式化分区。下面的步骤会用 `mkfs` 来格式化分区。
```
$ sudo mkfs.ext4 /dev/sdb1
@ -211,7 +208,6 @@ Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
```
同样的。
@ -219,18 +215,18 @@ Writing superblocks and filesystem accounting information: done
```
$ sudo mkfs.ext4 /dev/sdb2
$ sudo mkfs.ext4 /dev/sdb3
```
创建必要的文件夹然后将这些分区挂载在上面。
```
$ sudo mkdir /par1 /par2 /par3
```
```
$ sudo mount /dev/sdb1 /par1
$ sudo mount /dev/sdb2 /par2
$ sudo mount /dev/sdb3 /par3
```
运行下列命令来检查是否成功挂载上新创建的分区。
@ -241,12 +237,11 @@ Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 9.2G 37M 8.6G 1% /par1
/dev/sdb2 9.2G 37M 8.6G 1% /par2
/dev/sdb3 31G 49M 30G 1% /par3
```
### 怎样检查硬盘空闲空间
运行下列命令来检查硬盘上的空闲空间,这块硬盘上有`25.7 GB`的空闲空间。
运行下列命令来检查硬盘上的空闲空间,这块硬盘上有 `25.7 GB` 的空闲空间。
```
$ sudo parted /dev/sdb print free
@ -262,14 +257,13 @@ Number Start End Size Type File system Flags
2 10.0GB 20.0GB 9999MB primary ext4
3 20.0GB 28.0GB 8001MB primary ext4
28.0GB 53.7GB 25.7GB Free Space
```
### 怎样使用Parted命令来重新调整分区大小
### 怎样使用 parted 命令来重新调整分区大小
Parted 允许用户重新调整分区大小。不过我已在文章的开头说了,不要缩小分区大小,不然会有许多错误。
`parted` 允许用户重新调整分区大小。不过我已在文章的开头说了,不要缩小分区大小,不然会有许多错误。
运行下列命令来检查硬盘分区以及所有可用空间。 可以看到硬盘上有`25.7GB` 的可用空间
运行下列命令来检查硬盘分区以及所有可用空间。 可以看到硬盘上有 `25.7GB` 的可用空间
```
$ sudo parted /dev/sdb print free
@ -285,20 +279,18 @@ Number Start End Size Type File system Flags
2 10.0GB 20.0GB 9999MB primary ext4
3 20.0GB 28.0GB 8001MB primary ext4
28.0GB 53.7GB 25.7GB Free Space
```
运行下列命令来重新调整分区大小。 我们将要重新调整(增加)分区 3的结束位置从 `28GB 到 33GB`。
运行下列命令来重新调整分区大小。 我们将要重新调整(增加)分区 3 的结束位置`28GB``33GB`。
```
$ sudo parted [Disk Name] [resizepart] [Partition Number] [Partition New End Size]
$ sudo parted /dev/sdb resizepart 3 33.0GB
Information: You may need to update /etc/fstab.
```
运行下列命令来确认分区是否已经扩容。可以看到,分区 3 已经从`8GB`增加到`13GB`。
运行下列命令来确认分区是否已经扩容。可以看到,分区 3 已经从 `8GB` 增加到 `13GB`
```
$ sudo parted /dev/sdb print
@ -322,7 +314,6 @@ $ sudo resize2fs /dev/sdb3
resize2fs 1.43.4 (31-Jan-2017)
Resizing the filesystem on /dev/sdb3 to 3173952 (4k) blocks.
The filesystem on /dev/sdb3 is now 3173952 (4k) blocks long.
```
最后,确认分区是否已经扩容。
@ -333,12 +324,11 @@ Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 9.2G 5.1G 3.6G 59% /par1
/dev/sdb2 9.2G 2.1G 6.6G 24% /par2
/dev/sdb3 12G 1.1G 11G 10% /par3
```
### 怎样用Parted删除分区
### 怎样用 parted 删除分区
我们用rm命令方便地删除未使用的分区如果该分区不会再被用到了。下列步骤中我们将会删除分区 3(`/dev/sdb3`)
我们用 `rm` 命令方便地删除未使用的分区(如果该分区不会再被用到了)。下列步骤中,我们将会删除分区 3 `/dev/sdb3`
```
$ sudo parted [Disk Name] [rm] [Partition Number]
@ -350,7 +340,6 @@ Error: Partition(s) 3 on /dev/sdb have been written, but we have been unable to
You should reboot now before making further changes.
Ignore/Cancel? Ignore
Information: You may need to update /etc/fstab.
```
我们也可以用下列的命令检查。可以看到,分区 3 已经被成功移除。
@ -369,15 +358,15 @@ Number Start End Size Type File system Flags
```
### 怎样用Parted命令设置/更改分区旗帜
### 怎样用 parted 命令设置/更改分区标志
我们可以用下列的命令来轻易更改分区的标志。 我们将对 `/dev/sdb2` 设置 `lvm` 标志。
我们可以用下列的命令来轻易更改分区的旗帜。 我们将对`/dev/sdb2`设置 `lvm` 旗帜。
```
$ sudo parted [Disk Name] [set] [Partition Number] [Flags Name] [Flag On/Off]
$ sudo parted /dev/sdb set 2 lvm on
Information: You may need to update /etc/fstab.
```
我们可以列出分区来验证这次的更改。
@ -396,7 +385,8 @@ Number Start End Size Type File system Flags
```
如果你想知道可用的旗帜, 只需要用如下的命令。
如果你想知道可用的标志,只需要用如下的命令。
```
$ (parted) help set
set NUMBER FLAG STATE change the FLAG on partition NUMBER
@ -404,15 +394,15 @@ $ (parted) help set
NUMBER is the partition number used by Linux. On MS-DOS disk labels, the primary partitions number from 1 to 4, logical partitions from 5 onwards.
FLAG is one of: boot, root, swap, hidden, raid, lvm, lba, hp-service, palo, prep, msftres, bios_grub, atvrecv, diag, legacy_boot, msftdata, irst, esp
STATE is one of: on, off
```
如果你想知道parted的其它可用命令 只需要去到 `help` 页面.
如果你想知道 `parted` 的其它可用命令, 只需要去到 `help` 页面。
```
$ sudo parted
GNU Parted 3.2
GNU parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
Welcome to GNU parted! Type 'help' to view a list of commands.
(parted) help
align-check TYPE N check partition N for TYPE(min|opt) alignment
help [COMMAND] print general help, or help on COMMAND
@ -430,9 +420,8 @@ Welcome to GNU Parted! Type 'help' to view a list of commands.
set NUMBER FLAG STATE change the FLAG on partition NUMBER
toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER
unit UNIT set the default unit to UNIT
version display the version number and copyright information of GNU Parted
version display the version number and copyright information of GNU parted
(parted) quit
```
--------------------------------------------------------------------------------
@ -440,8 +429,8 @@ Welcome to GNU Parted! Type 'help' to view a list of commands.
via: https://www.2daygeek.com/how-to-manage-disk-partitions-using-parted-command/
作者:[Magesh Maruthamuthu][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
译者:[zyk2290](https://github.com/zyk2290)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -1,3 +1,5 @@
Translating by MjSeven
10 fundamental commands for new Linux users
======

View File

@ -1,52 +1,49 @@
translating-----geekpi
How To Create/Extend Swap Partition In Linux Using LVM
如何在 Linux 中使用 LVM 创建/扩展交换分区
======
We are using LVM for flexible volume management so, why cant we use LVM for swap space?
我们使用 LVM 进行灵活的卷管理,为什么我们不能将 LVM 用于交换分区呢?
This allow users to increase the swap partition whenever we need.
这让用户在需要时增加交换分区。
If you upgraded the RAM in your system, it is necessary to add more swap space.
如果你升级系统中的内存,则需要添加更多交换空间。
This help you to manage the system that run applications that require a large amount of memory.
这有助于你管理运行需要大量内存的应用的系统。
Swap can be created in three ways
可以通过三种方式创建交换分区
* Create a new swap partition
* Create a new swap file
* Extend swap on an existing logical volume (LVM)
* 创建一个新的交换分区
* 创建一个新的交换文件
* 在现有逻辑卷LVM上扩展交换分区
Its recommended to create a dedicated swap partition instead of swap file.
建议创建专用交换分区而不是交换文件。
**Suggested Read :**
**(#)** [3 Easy Ways To Create Or Extend Swap Space In Linux][1]
**(#)** [Automatically Create/Remove And Mount Swap File In Linux Using Shell Script][2]
**建议阅读:**
**(#)** [3 种简单的方法在 Linux 中创建或扩展交换空间][1]
**(#)** [使用 Shell 脚本在 Linux 中自动创建/删除和挂载交换文件][2]
What is the recommended swap size in Linux?
Linux 中推荐的交换大小是多少?
### What Is Swap Space
### 什么是交换空间
Swap space in Linux is used when the amount of physical memory (RAM) is full. When physical RAM is full, inactive pages in memory are moved to the swap space.
当物理内存 RAM 已满时,将使用 Linux 中的交换空间。当物理内存已满时,内存中的非活动页将移到交换空间。
This helps system to run the application continuously but its not considered a replacement for more RAM.
这有助于系统连续运行应用程序,但它不被认为是更多内存的替代品。
Swap space is located on hard drives so, it would not processing the request like physical RAM.
交换空间位于硬盘上,因此它不会像物理内存那样处理请求。
### How To Create A Swap Partition Using LVM
### 如何使用LVM创建交换分区
As we already know how to create logical volume do the same for swap as well. Just follow the below procedure.
由于我们已经知道如何创建逻辑卷,所以交换分区也是如此。只需按照以下过程。
Create a logical volume which you required. In my case im going to create `5GB` of swap partition.
创建你需要的逻辑卷。在我这里,我要创建 `5GB` 的交换分区。
```
$ sudo lvcreate -L 5G -n LogVol_swap1 vg00
Logical volume "LogVol_swap1" created.
```
Format the new swap space.
格式化新的交换空间。
```
$ sudo mkswap /dev/vg00/LogVol_swap1
Setting up swapspace version 1, size = 5 GiB (5368705024 bytes)
@ -54,14 +51,14 @@ no label, UUID=d278e9d6-4c37-4cb0-83e5-2745ca708582
```
Add the following entry to the `/etc/fstab` file.
将以下条目添加到 `/etc/fstab` 中。
```
# vi /etc/fstab
/dev/mapper/vg00-LogVol_swap1 swap swap defaults 0 0
```
Enable the extended logical volume.
启用扩展逻辑卷。
```
$ sudo swapon -va
swapon: /swapfile: already active -- ignored
@ -71,7 +68,7 @@ swapon /dev/mapper/vg00-LogVol_swap1
```
Test that the swap space has been added properly.
测试交换空间是否已正确添加。
```
$ cat /proc/swaps
Filename Type Size Used Priority
@ -85,18 +82,18 @@ Swap: 6 0 6
```
### How To Expand A Swap Partition Using LVM
### 如何使用 LVM 扩展交换分区
Just follow the below procedure to extend an LVM swap logical volume.
只需按照以下过程来扩展 LVM 交换逻辑卷。
Disable swapping for the associated logical volume.
禁用相关逻辑卷的交换。
```
$ sudo swapoff -v /dev/vg00/LogVol_swap1
swapoff /dev/vg00/LogVol_swap1
```
Resize the logical volume. Im going to increase the swap volume from `5GB to 11GB`.
调整逻辑卷的大小。我将把交换空间从 `5GB 增加到 11GB`
```
$ sudo lvresize /dev/vg00/LogVol_swap1 -L +6G
Size of logical volume vg00/LogVol_swap1 changed from 5.00 GiB (1280 extents) to 11.00 GiB (2816 extents).
@ -104,7 +101,7 @@ $ sudo lvresize /dev/vg00/LogVol_swap1 -L +6G
```
Format the new swap space.
格式化新的交换空间。
```
$ sudo mkswap /dev/vg00/LogVol_swap1
mkswap: /dev/vg00/LogVol_swap1: warning: wiping old swap signature.
@ -113,7 +110,7 @@ no label, UUID=2e3b2ee0-ad0b-402c-bd12-5a9431b73623
```
Enable the extended logical volume.
启用扩展逻辑卷。
```
$ sudo swapon -va
swapon: /swapfile: already active -- ignored
@ -123,7 +120,7 @@ swapon /dev/mapper/vg00-LogVol_swap1
```
Test that the logical volume has been extended properly.
测试逻辑卷是否已正确扩展。
```
$ free -g
total used free shared buff/cache available
@ -142,7 +139,7 @@ Filename Type Size Used Priority
via: https://www.2daygeek.com/how-to-create-extend-swap-partition-in-linux-using-lvm/
作者:[Ramya Nuvvula][a]
译者:[译者ID](https://github.com/译者ID)
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出