仮想マシンへのハードディスクおよびパーティションの追加/拡張

目次

 

1. 仮想マシンにハードディスクを追加する

2. パーティション

3. パーティションスロットを削除します。

4. ディスクのフォーマット

5. マウント -mount (再起動すると復元します)

6. アンマウント mount -umount 

7. ブートマウント (/etc/fstab)


1. 仮想マシンにハードディスクを追加する

2. パーティション

このシステムのシステム内のすべてのディスクとパーティション情報を一覧表示します。

[root@localhost ~]# lsblk    
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0    1G  0 disk     # 新增了一个sdb
sr0              11:0    1  8.1G  0 rom 

 ハードディスクとパーティションのステータスを表示する

[root@localhost ~]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0009a51e

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM

# 新增的1G 硬盘 /dev/sdb;此时是未分区
Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/centos-root: 18.2 GB, 18249416704 bytes, 35643392 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

fdisk パーティションを使用する

MBRパーティション テーブルはfdiskパーティションを使用し、GPTパーティション テーブルはgdiskパーティションを使用します。2 つのコマンドの使用方法は基本的に同じです。

MBR は最大 2T をサポートし、GPT は理論上無制限です。したがって、一般的には fdisk が使用され、gdisk は T レベルに達するハードディスクにのみ使用されます。

# 查看 /dev/sdb 磁盘的相关数据
[root@localhost ~]# parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi)         # 磁盘的模块名称(厂商)
Disk /dev/sdb: 1074MB                          # 磁盘总量
Sector size (logical/physical): 512B/512B      # 每个逻辑/物理扇区容量
Partition Table: msdos                         # 分区表格式(MBR/GPT)
Disk Flags: 

Number  Start   End    Size   Type     File system  Flags    # 分区数据
 1      1049kB  525MB  524MB  primary
# 对/dev/sdb做分区
[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x7cd5d1a2.

Command (m for help): p    # 印出分区表

Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x7cd5d1a2

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n    # 增加一个分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended     
#  l   logical   # 存在扩展分区时的选项
# primary 主分区。可以做引导分区,最多不能超过四个
# extended 扩展分区,最多一个
# logical 逻辑分区
Select (default p): p
Partition number (1-4, default 1): 1    # 分区编号(默认即可)
First sector (2048-2097151, default 2048):     # 起始位置(默认即可)
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): +500M    
Partition 1 of type Linux and of size 500 MiB is set    # 结束位置+500MiB大小
# 不需要计算扇区号码,直接使用 ‘+容量’ 的方式(+500M/+1G)

Command (m for help): p    # 查看检验
Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x7cd5d1a2

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     1026047      512000   83  Linux    

Command (m for help): w  # 保存配置并退出;q 不保存退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
# 查看新增分区
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0    1G  0 disk 
└─sdb1            8:17   0  500M  0 part         # 新建分区
sr0              11:0    1  8.1G  0 rom 

Linux カーネルのパーティション テーブル情報は、partprobe を使用して更新できます。

#  partprobe -s

3. パーティションスロットを削除します。

[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p

Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x7cd5d1a2

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     1026047      512000   83  Linux
/dev/sdb2         1026048     2050047      512000   83  Linux
/dev/sdb3         2050048     2097151       23552   83  Linux

Command (m for help): d    # d 删除
Partition number (1-3, default 3): 3
Partition 3 is deleted

Command (m for help): p    # /dev/sdb3 已删除

Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x7cd5d1a2

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     1026047      512000   83  Linux
/dev/sdb2         1026048     2050047      512000   83  Linux

Command (m for help): w    # 保存并退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

4. ディスクのフォーマット

# mkfs.xfs [-b bsize] [-d parms] [-i parms] [-l parms] [-L label] [-f] [-r parms] デバイス名 オプションとパラメータ: ユニットについて: ちょっと話し

ください以下にそれについて説明します 「値」については、単位を追加しない場合はバイトの値です。k、m、g、t、p (小文字) を使用して説明できます。特別な単位は s です
 。 ! はセクターの「番号」を指します。
-b: ブロック容量が続きます。これは 512 ~ 64k の範囲で指定できますが、Linux では最大容量は 4k に制限されています。
-d : 重要なデータ セクションの関連パラメーター値が続きます。主な値は次のとおりです:
 agcount=value: 必要なストレージ グループ (AG) の数の意味を設定します。通常は CPU の
 agsizeに関連します。 =value: 各 AG 設定される容量。通常、agcount/agsize は 1 つの設定ファイルでのみ設定できます。
 「フォーマットされたデバイスはデバイスではなくファイルである」という意味を指します。(仮想ディスクなど)
 size=value: データ セクションの容量。デバイスの容量をすべて使い切ることはできないことを意味します。 su=value: RAID がある場合、ストライプ値の意味  。sw
 を以下の sw
=value: RAID がある場合、データを保存するために使用されるディスクの数 (バックアップ ディスクとスペア ディスクを差し引く必要があります) sunit=value:
 su と同等ですが、単位は「数セクター (512 バイトのサイズ)」という意味を使用します。 )"
 width= 値: su*swの値ですが、「数セクタ(512バイトサイズ)」で設定されます
-f: デバイスにファイル システムがすでに存在する場合は、この -f を使用してフォーマットを強制する必要があります。
-i : inode に関連する設定があり、主な設定値は次のとおりです:
 size=value: 最小値は 256 バイト、最大値は 2k、通常は 256 で十分です。
 Internal=[0|1]: ログ機能は内蔵されていますか? デフォルトは 1 で、内蔵されています。外部デバイスを使用したい場合は、次の設定を使用します
 。logdev=device: ログ デバイスは、後ろに接続されているデバイスの意味です。internal=0 を設定する必要があります。
 size=数値: このログイン領域の容量を指定します。通常は少なくとも 512 ブロック、約 2M 以上です。
-L: ファイルシステムのヘッダ名が続きます。ラベル名は意味します。
-r: リアルタイムセクションの関連設定値を指定します。一般的なものは次のとおりです:
 extsize=number: これは重要なエクステント値であり、通常は設定する必要はありませんが、RAID がある場合は、
 設定することをお勧めします。幅と同じ値です! 最小は 4K、最大は 1G です。

# /dev/sdb1 格式化为 xfs 文件系统;默认值即可
[root@localhost ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=32000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=128000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

[root@localhost ~]# blkid /dev/sdb1
/dev/sdb1: UUID="3e831335-d1e5-4343-a9d6-8410b6081040" TYPE="xfs" 

他のファイルシステム

[root@localhost ~]# mkfs 按两下タブ
mkfs mkfs.btrfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.minix mkfs.xfs  

5. マウント -mount (再起動すると復元します)

フォーマットせずにマウントすると、エラーが報告されます。

[root@localhost /]# mount /dev/sdb5 /mnt/test5
mount: /dev/sdb5 is write-protected, mounting read-only
mount: unknown filesystem type '(null)'

フォーマット後にマウントします

1.マウント [デバイスファイル名] [マウントポイント]

2.マウント [ UUID="..." ] [マウントポイント]

[root@localhost ~]# mkfs.ext4 /dev/sdb5 # 形式

[root@localhost ~]# blkid /dev/sdb5 # 查看UUID
/dev/sdb5: UUID ="782aaa82-2064-4b78-a0ef-877f18b569a7" TYPE="ext4" 

# 挂载前
[root@localhost /]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   17G  1.2G   16G   7% /
devtmpfs                 901M     0  901M   0% /dev
tmpfs                    912M     0  912M   0% /dev/shm
tmpfs                    912M  8.6M  904M   1% /run
tmpfs                    912M     0  912M   0% /sys/fs/cgroup
/dev/sda1               1014M  143M  872M  15% /boot
tmpfs                    183M     0  183M   0% /run/user/0
[root@localhost /]# 
[root@localhost /]# cd /mnt
[root@localhost mnt]# mkdir test5    #新建挂载目录
[root@localhost mnt]# mount /dev/sdb5 /mnt/test5    # 挂载
[root@localhost mnt]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   17G  1.2G   16G   7% /
devtmpfs                 901M     0  901M   0% /dev
tmpfs                    912M     0  912M   0% /dev/shm
tmpfs                    912M  8.6M  904M   1% /run
tmpfs                    912M     0  912M   0% /sys/fs/cgroup
/dev/sda1               1014M  143M  872M  15% /boot
tmpfs                    183M     0  183M   0% /run/user/0
/dev/sdb5                 19M  332K   17M   2% /mnt/test5    # 挂载后

6. アンマウント mount -umount 

[root@localhost ~]# df -h    # 卸载前
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   17G  1.2G   16G   7% /
devtmpfs                 901M     0  901M   0% /dev
tmpfs                    912M     0  912M   0% /dev/shm
tmpfs                    912M  8.6M  904M   1% /run
tmpfs                    912M     0  912M   0% /sys/fs/cgroup
/dev/sda1               1014M  143M  872M  15% /boot
tmpfs                    183M     0  183M   0% /run/user/0
/dev/sdb5                 19M  332K   17M   2% /mnt/test5
/dev/sdb6                 19M  332K   17M   2% /mnt/test6
[root@localhost ~]# 
[root@localhost ~]# umount /mnt/test5    # 通过挂载点卸载
[root@localhost ~]# umount /dev/sdb6     # 通过装置名称卸载
[root@localhost ~]# 
[root@localhost ~]# df -h    # 卸载后
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   17G  1.2G   16G   7% /
devtmpfs                 901M     0  901M   0% /dev
tmpfs                    912M     0  912M   0% /dev/shm
tmpfs                    912M  8.6M  904M   1% /run
tmpfs                    912M     0  912M   0% /sys/fs/cgroup
/dev/sda1               1014M  143M  872M  15% /boot
tmpfs                    183M     0  183M   0% /run/user/0

7. ブートマウント (/etc/fstab)

/etc/fstab は起動時の設定ファイルですが、実際のファイルシステムのマウントは /etc/mtab と /proc/mounts の 2 つのファイルに記録されます。ファイルシステムのマウントを変更するたびに、これら 2 つのファイルも同時に更新されます。

コラム1:書き方は以下の3つです。

  • ファイル システムまたはディスクのデバイス ファイル名 (/dev/vda2 など)。
  • ファイル システムの UUID 名 (UUID=xxx など)
  • ファイル システムの LABEL 名 (例: LABEL=xxx)

2 列目:マウント ポイント

  • ディレクトリである必要があります

3 番目の列:ディスク パーティション スロットのファイル システム

  • 手動でマウントする場合、システムは自動的にマウントをテストできますが、このファイルではファイル システムに手動で書き込む必要があります。xfsext4vfatreiserfsnfsなどを含む

4 番目の列:ファイル システム パラメータ

列5: dumpbackupコマンドで使用できるかどうか

  • dump はバックアップとして使用されるコマンドですが、現在はバックアップ ソリューションが多すぎるため、この項目は無視しても問題ありません。0を直接入力してください

列 6: fsck でセクターをチェックするかどうか

  • 初期の起動プロセスでは、マシンのファイル システムが完全 (クリーン) であるかどうかを確認するための時間がかかります。ただし、この方法は主に fsck を介して使用され、xfs 自体が検査を実行するため、現在使用している xfs ファイル システムを適用することはできず、この追加のアクションを実行する必要はありません。したがって、0を入力するだけです 

取り付け手順:

# 先查看下分区的UUID和文件系统!
[root@localhost ~]# blkid /dev/sdb5
/dev/sdb5: UUID="782aaa82-2064-4b78-a0ef-877f18b569a7" TYPE="ext4" 
 
[root@localhost ~]# blkid /dev/sdb6
/dev/sdb6: UUID="f254bb63-8e6f-4304-bfb0-8a0c11c86b3c" TYPE="ext4" 

[root@localhost ~]# vim /etc/fstab 
/dev/mapper/centos-root /                       xfs     defaults     0 0
UUID=c3c20273-7091-4147-b6d0-352fc0ac3b75 /boot xfs     defaults     0 0
/dev/mapper/centos-swap swap                    swap    defaults     0 0
# 这里使用两种方式,推荐使用UUID,唯一性
/dev/sdb5                                   /mnt/test5  ext4 defaults 0 0
UUID="f254bb63-8e6f-4304-bfb0-8a0c11c86b3c" /mnt/test6  ext4 defaults 0 0

[root@localhost ~]# reboot    # 重启
[root@localhost ~]# df -h     # 观察已经完成开机挂载
Filesystem               Size  Used Avail Use% Mounted on
...
/dev/sdb5                 19M  332K   17M   2% /mnt/test5  
/dev/sdb6                 19M  332K   17M   2% /mnt/test6
tmpfs                    183M     0  183M   0% /run/user/0

構成が間違っていると、起動に失敗します。

この時点で、root パスワードを直接入力して 1 人メンテナンス モードに入ります。

次に、エラーを修正するか、間違った場所を削除するか、再度マウントし、保存して終了し、再起動します。

読み取り専用ステータスが表示された場合は、次を実行します。

# mount -n -o remount,rw /
# 之后就可以正常修改/etc/fstab了

エラーが発生しやすいのは、ファイル システムの間違った書き込みです: xfsext4vfatReiserfsnfsなど。

おすすめ

転載: blog.csdn.net/qq_41210783/article/details/112360370