如何在 Linux 中新增新磁碟

2019-03-27 13:24:00

在 Linux 機器中新增磁碟的逐步過程。

本文將向你介紹在 Linux 機器中新增新磁碟的步驟。將原始磁碟新增到 Linux 機器可能非常依賴於你所擁有的伺服器型別,但是一旦將磁碟提供給機器,將其新增到掛載點的過程幾乎相同。

目標:向伺服器新增新的 10GB 磁碟,並使用 lvm 和新建立的卷組建立 5GB 裝載點。

向 Linux 機器新增原始磁碟

如果你使用的是 AWS EC2 Linux 伺服器,可以 按照以下步驟 新增原始磁碟。如果使用的是 VMware Linux VM,那麼需要按照不同的步驟來新增磁碟。如果你正在執行物理機架裝置/刀鋒伺服器,那麼新增磁碟將是一項物理任務。

一旦磁碟物理/虛擬地連線到 Linux 機器上,它將被核心識別,就可以開始了。

識別 Linux 最新新增的磁碟

原始磁碟連線後,需要讓核心去 掃描新磁碟。在新版中,它主要是由核心自動完成。

第一件事是在核心中識別新新增的磁碟及其名稱。實現這一點的方法有很多,以下作少量列舉:

  • 可以在新增/掃描磁碟前後觀察 lsblk 輸出,以獲取新的磁碟名。
  • 檢查 /dev 檔案系統中新建立的磁碟檔案。匹配檔案和磁碟新增時間的時間戳。
  • 觀察 fdisk-l 新增/掃描磁碟前後的輸出,以獲取新的磁碟名。

在本範例中,我使用的是 AWS EC2 伺服器,向伺服器新增了 5GB 磁碟。我的 lsblk 輸出如下:

[root@kerneltalks ~]# lsblkNAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINTxvda    202:0    0  10G  0 disk├─xvda1 202:1    0   1M  0 part└─xvda2 202:2    0  10G  0 part /xvdf    202:80   0  10G  0 disk

可以看到 xvdf 是新新增的磁碟。完整路徑是 /dev/xvdf

在 LVM 中新增新磁碟

我們這裡使用 LVM,因為它是 Linux 平台上廣泛使用的非常靈活的捲管理器。確認 lvm 或 lvm2 軟體包已經安裝在系統上。如未安裝,請 安裝 lvm/lvm2 程式包

現在,我們將在邏輯卷管理器中新增這個原始磁碟,並從中建立 10GB 的掛接點。所用到的命令如下:

如果要將磁碟新增到現有掛接點,並使用其空間來擴充套件掛接點 ,則 vgcreate 應替換為 vgextend

對談範例輸出如下:

[root@kerneltalks ~]# pvcreate /dev/xvdf  Physical volume "/dev/xvdf" successfully created.[root@kerneltalks ~]# vgcreate vgdata /dev/xvdf  Volume group "vgdata" successfully created[root@kerneltalks ~]# lvcreate -L 5G -n lvdata vgdata  Logical volume "lvdata" created.

現在,已完成邏輯卷建立。你需要使用所選的檔案系統格式化它,並將其掛載。在這裡選擇 ext4 檔案系統,並使用 mkfs.ext4 進行格式化。

[root@kerneltalks ~]# mkfs.ext4 /dev/vgdata/lvdatamke2fs 1.42.9 (28-Dec-2013)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks327680 inodes, 1310720 blocks65536 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=134217728040 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks:        32768, 98304, 163840, 229376, 294912, 819200, 884736 Allocating group tables: doneWriting inode tables: doneCreating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: done

在掛載點上從新磁碟掛載卷

使用 mount 命令,在 /data 安裝點上安裝已建立並格式化的 5GB 邏輯卷。

[root@kerneltalks ~]# mount /dev/vgdata/lvdata /data[root@kerneltalks ~]# df -Ph /dataFilesystem                 Size  Used Avail Use% Mounted on/dev/mapper/vgdata-lvdata  4.8G   20M  4.6G   1% /data

使用 df 命令驗證掛載點。如上所述,你都完成了!你可以在 /etc/fstab 中新增一個條目,以便在重新啟動時保持此裝載。

你已將 10GB 磁碟連線到 Linux 計算機,並建立了 5GB 掛載點!