[教學] 幫 CentOS 加裝新硬碟(ESX Guest VM)
在我使用虛擬機來架設 Linux 伺服器時,習慣在 Guest 中使用兩顆虛擬硬碟(VMDK),這就如同實體機器一樣,我們會將第一顆硬碟來安裝 OS 系統,第二顆硬碟存放運作資料,甚至第三顆硬碟來本地備份。
或許有人會問,在虛擬機何必這樣區分呢?不是都一樣都是假的?現在備份不都整個 Guest OS 備份?實際上,過去區分硬碟存放,為了是確保資料的保障;的確,在現在的虛擬環境備份方案,已經不像實體機的那麼複雜,層次也都已經拉升到整個運行虛擬機,而非單單那一顆硬碟。
但我仍會這樣做,尤其經過多次部署上線的經驗,配合虛擬機的特點,發現區分 DISK (VMDK) 仍有顯著幫助的。
用三種情況來解釋為什麼我會這樣做:
(一) 當要快速完成部署或更換系統,如我想快速的將某 Guest OS 移除,並換上新的 Guest OS 來運作(如 windows 2003 升級到 2008),我只要將舊的資料 VMDK 掛到新部署的 Guest OS 上,馬上完工。
(二) 我能將 I/O 需求比較高的 VMDK 放到獨立或效能較高實體區來運作,甚至是 SWAP 或 Windows 的分頁檔。
(三) 明確區分目前資料磁區的大小,在大部份的 OS 中,動態調整第二顆硬碟的空間遠比第一顆來的方便。
所以,老樣子,我們來替剛裝好的 CentOS 加入一個 DISK 吧~
一、透過 vSphere Client 將 Guest VM 新增硬碟
我相信大家對新增硬碟應該是很熟悉了,這部份的操作我就不再著墨太多啦~
這台測試的機器一共放入兩顆 DISK,第一顆安裝 CentOS (20G),第二顆打算來放入架設網站的資料(60G),接下來就開機,使用 PuTTY 連入操作。
二、磁碟分割、格式化
開機完後,首先如何知道剛剛新加入的硬碟有被 CentOS 抓到呢?可以使用 fdisk -l 指令來查看目前硬碟的狀況。
[root@NGINX ~]# fdisk -l Disk /dev/sda: 21.5 GB, 21474836480 bytes 64 heads, 32 sectors/track, 20480 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0008ecae Device Boot Start End Blocks Id System /dev/sda1 * 2 501 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 502 20480 20458496 8e Linux LVM Partition 2 does not end on cylinder boundary. Disk /dev/sdb: 64.4 GB, 64424509440 bytes 64 heads, 32 sectors/track, 61440 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/mapper/VolGroup-lv_root: 19.9 GB, 19872612352 bytes 255 heads, 63 sectors/track, 2416 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: 0x00000000 Disk /dev/mapper/VolGroup-lv_swap: 1073 MB, 1073741824 bytes 255 heads, 63 sectors/track, 130 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: 0x00000000
其中可以看到 Disk /dev/sdb: 64.4 GB, 64424509440 bytes 就是我們剛加入的硬碟,目前還沒有分割任何的磁區,所以我們就開始分割吧。
[root@NGINX ~]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x098f14be. 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): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-61440, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-61440, default 61440): Using default value 61440 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
我這直接將它切割為單一個主磁區,分割完後,可以再透過 fdisk -l 確認一次,再來就是使用 mkfs.ext4 對剛切出來的 /dev/sdb1 進行格式化(CentOS 可以使用 ext4 的檔案格式)。
[root@NGINX ~]# mkfs.ext4 /dev/sdb1 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 3932160 inodes, 15728636 blocks 786431 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 480 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, 11239424 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 34 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
三、自動開機掛載
先在 / 下建立 data-disk 資料夾,供掛載 /dev/sdb1 使用,修改開機自動掛載設定檔 /etc/fstab,透過 mount -a 方式直接重新掛載,最後再透過 df 指令確認是不是已經掛載成功。
[root@NGINX ~]# mkdir /data-disk [root@NGINX ~]# vi /etc/fstab # 加入一行至最後 /dev/sdb1 /data-disk ext4 defaults 1 2 [root@NGINX ~]# mount -a [root@NGINX ~]# mount /dev/mapper/VolGroup-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) /dev/sda1 on /boot type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) /dev/sdb1 on /data-disk type ext4 (rw) [root@NGINX ~]# [root@NGINX ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 19G 1.2G 17G 7% / tmpfs 250M 0 250M 0% /dev/shm /dev/sda1 485M 65M 395M 15% /boot /dev/sdb1 60G 180M 56G 1% /data-disk [root@NGINX ~]#
好了,這樣就完成新硬碟的安裝啦~
您可以延伸閱讀這些文章:
友站鏈結
標籤
Cache CentOS Convert Image Convert Photo DISK ESX Firewall FTP Highlighter htop HTTP iftop ImageMagick iotop IPTABLES LinkWithin Linux Manager Tools Memory Network Network Setting Nginx OS PHP PHP-FPM Proftpd Security Server Service SSH Syntax VMDK VMware VMware Tools vSphere Web Windows Live Write WLW WordPress WordPress Plugin XmlRpc 資訊安全 防火牆免責聲明
本網站對於任何使用或引用本網站網頁資料,引致之損失或損害,概不負責。 本網站亦有權隨時刪除、暫停或編輯本網站所登載之各項資料,以維護本網站之權益。