如何在 Linux 機器上新增新磁碟驅動器


本文將幫助您配置和新增新磁碟到 Linux 系統。這是系統管理員如今遇到的最常見問題之一,因為伺服器往往會耗盡磁碟空間來儲存過多的資料。幸運的是,磁碟空間現在是最便宜的資源之一。我們將介紹在 Red Hat Enterprise Linux 6.x 上進行配置以透過安裝磁碟新增更多空間的必要步驟。

目錄

  • 已掛載的檔案系統或邏輯卷
  • 入門
  • 在 RHEL 6 中查詢新硬碟驅動器
  • 建立 Linux 分割槽
  • 在 RHEL 6 磁碟分割槽上建立檔案系統
  • 掛載檔案系統
  • 配置 RHEL 6 自動掛載檔案系統

已掛載的檔案系統或邏輯卷

一個最簡單的方法是在新磁碟上建立一個 Linux 分割槽。在這些分割槽上建立 Linux 檔案系統,然後將磁碟掛載到特定的掛載點,以便可以訪問它們。

入門

本文假設新物理硬碟已安裝在系統上,並且作業系統可以識別它。

在 RHEL 6.x 中查詢新硬碟驅動器

假設驅動器對 BIOS 可見,作業系統應該會自動檢測到它。通常,系統中的磁碟驅動器會被分配一個以 hd 或 sd 開頭的裝置名稱,後面跟著一個字母表示裝置號。例如,第一個裝置可能是 /dev/sda,第二個是 /dev/sdb,依此類推。

以下是僅帶有一個物理磁碟驅動器的系統的輸出:

# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2

這表明磁碟驅動器由 /dev/sda 表示,它本身被分成 2 個分割槽,分別由 /dev/sda1 和 /dev/sda2 表示。如果我們連線第二個硬碟驅動器,則同一個系統的輸出如下所示。

# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb

如上所示,新硬碟驅動器已被分配給裝置檔案 /dev/sdb。目前,驅動器沒有顯示任何分割槽(因為我們尚未建立任何分割槽)。

此時,我們可以選擇在新驅動器上建立分割槽和檔案系統並掛載它們以進行訪問,或者將磁碟作為物理卷新增到卷組的一部分。

建立 Linux 分割槽

下一步是在新磁碟驅動器上建立一個或多個 Linux 分割槽。這是使用 **fdisk** 實用程式完成的,該實用程式將要分割槽的裝置作為命令列引數。

# fdisk /dev/sdb
The Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0xd1082b01.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's
strongly recommended to switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help):
As instructed, switch off DOS compatible mode and change the units to sectors by entering the c and u commands:
Command (m for help): c
DOS Compatibility flag is not set
Command (m for help): u
Changing display/entry units to sectors
In order to view the current partitions on the disk enter the p command:
Command (m for help): p
Disk /dev/sdb: 34.4 GB, 34359738368 bytes
255 heads, 63 sectors/track, 4177 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: 0xd1082b01
Device Boot Start End Blocks Id System

從上面我們可以看到,磁碟的 **fdisk** 輸出目前沒有分割槽,因為它是一個以前未使用過的磁碟。下一步是在磁碟上建立一個新分割槽,該任務透過輸入 **“n”**(表示新分割槽)和 **“p”**(表示主分割槽)來執行。

Command (m for help): n
Command action
   e    extended
   p    primary partition (1-4)
   p  
Partition number (1-4):

在此示例中,我們只計劃建立一個分割槽,它將是分割槽 1。接下來,我們需要指定分割槽將從哪裡開始和結束。由於這是第一個分割槽,我們需要從第一個可用扇區開始,並且因為我們想使用整個磁碟,所以在末尾指定最後一個扇區。請注意,如果要建立多個分割槽,可以透過扇區、位元組、千位元組或兆位元組指定每個分割槽的尺寸。

Partition number (1-4): 1
First sector (2048-67108863, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-67108863, default 67108863):
Using default value 67108863
Now that we have specified the partition we need to write it to the disk using the w command:
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

如果我們現在再次檢視裝置,我們會發現新分割槽顯示為 /dev/sdb1

# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdb1

下一步是在新分割槽上建立一個檔案系統。

在 RHEL 6.X 磁碟分割槽上建立檔案系統

我們現在安裝了一個新磁碟,它對 RHEL 6 可見,並且我們已在磁碟上配置了一個 Linux 分割槽。下一步是在分割槽上建立一個 Linux 檔案系統,以便作業系統可以使用它來儲存檔案和資料。在分割槽上建立檔案系統最簡單的方法是使用 mkfs.ext4 實用程式,它將標籤和分割槽裝置作為引數。

# /sbin/mkfs.ext4 -L /backup /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=/backup
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
2097152 inodes, 8388352 blocks
419417 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
256 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
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

此檔案系統會在 36 次掛載或 180 天后自動檢查,以先到者為準。使用 tune2fs -c 或 -i 覆蓋。

掛載檔案系統

現在我們已在新磁碟驅動器的 Linux 分割槽上建立了一個新檔案系統,我們需要掛載它才能訪問它。為此,我們需要建立一個掛載點。掛載點只是一個目錄或資料夾,檔案系統將被掛載到其中。出於本示例的目的,我們將建立一個 /backup 目錄以匹配我們的檔案系統標籤(儘管這些值不需要匹配)。

# mkdir /backup

然後可以使用 mount 命令手動掛載檔案系統。

# mount /dev/sdb1 /backup

執行沒有引數的 mount 命令將顯示我們當前所有已掛載的檔案系統(包括我們的新檔案系統)。

# mount
/dev/mapper/vg_rhel6-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sr0 on /media/RHEL_6.0 x86_64 Disc 1 type iso9660 (ro,nosuid,nodev,uhelper=udisks,uid=500,gid=500,iocharset=utf8,mode=0400,dmode=0500)
/dev/sdb1 on /backup type ext4 (rw) 

配置 RHEL 6 自動掛載檔案系統

為了配置系統以便在引導時自動掛載新磁碟,我們需要在 /etc/fstab 檔案中新增一個條目。

以下是示例配置檔案,它顯示了一個配置為自動掛載 /backup 分割槽的 fstab 檔案。

/dev/mapper/vg_rhel6-lv_root /                               ext4    defaults    1 1
UUID=4a9886f5-9545-406a-a694-04a60b24df84 /boot                         ext4    defaults 1 2
/dev/mapper/vg_rhel6-lv_swap swap                            swap    defaults    0 0
tmpfs                   /dev/shm                      tmpfs    defaults          0 0
devpts                  /dev/pts                      devpts   gid=5,mode=620    0 0
sysfs                   /sys                          sysfs    defaults          0 0
proc                    /proc                         proc     defaults          0 0
LABEL=/backup           /backup                       ext4     defaults          1 2

經過此配置和演示,我們可以輕鬆地將新磁碟新增到現有的 Linux 機器,並在另一個驅動器上擴充套件備份儲存空間。希望這些資訊對您有所幫助!

更新於:2020年1月21日

10K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告