熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

分區大小調整完全手冊

2013-11-13 16:18:02  來源: Oracle 

  環境
  
  服務器安裝有一個G的硬盤目前已經劃分為//home/chroot和/swap詳細的分區信息如何下所示
  
  
  Command (m for help): p
  
  Disk /dev/hda: GB bytes
   heads sectors/track cylinders
  Units = cylinders of * = bytes
  
    Device Boot  Start    End  Blocks  Id System
  /dev/hda  *              Linux
  /dev/hda           +  Linux
  /dev/hda            Extended
  /dev/hda             Linux swap
  /dev/hda            Linux
  
  然後現在希望從/home分區裡面分出大約GB的空間用於安裝FreeBSD
  
  過程
  
  首先我們需要調整文件系統的大小(注意是文件系統而不是分區的大小)然後對調整完畢的文件系統進行檢查然後再進一步調整分區的大小
  
  文章以我自己用的系統為例子實際操作時根據情況調整即可
  
  用慣了傳統調整硬盤工具的人可能會認為文件系統和硬盤的分區之間是統一的實際上他們之間並不是完整的整體(這也就是為什麼BSD可以在一個硬盤分區裡面制作多個文件系統分區)想像一下帶有移動式書架的書櫥你可以通過移動式書架調整書櫥裡面書籍的位置把書當成文件系統你可以在書櫥裡面放滿書籍也可以通過移動式書架調整書櫥的空間當然也可以通過書架調整書櫥裡面書籍存放的位置如下圖所示
  
  
      |<-- hda1------>|<-- hda2------>|
      +++
      |XXXXXXXXXXXXXXX|XXXXXXXXXX|  |
      |XXXXXXXXXXXXXXX|XXXXXXXXXX|  |
      +++
  
    硬盤分區/dev/hda中的文件系統占滿了整個分區而/dev/hda中的文件系統只占用了/左右的分區
  
    基本的原理就是這樣現在讓我們開始調整/dev/hda中文件系統的大小
  
  
  [root@ringmail root]# umount /home
  [root@ringmail root]# resize_reiserfs s M /dev/hda
  
  <-------------resize_reiserfs, 2002------------->
  reiserfsprogs
  
  You are running BETA version of reiserfs shrinker
  This version is only for testing or VERY CAREFUL use
  Backup of you data is recommended
  
  Do you want to continue? [y/N]:y
  Processing the tree: %
  %%%%%             left /sec
  
  nodes processed (moved):
  int     ()
  leaves   ()
  unfm    ()
  total    ()
  
  check for used blocks in truncated region
  
  ReiserFS report:
  blocksize      
  block count      ()
  free blocks      ()
  bitmap block count   ()
  
  Syncingdone
  
  由於/home原來的大小是而我們希望在/home裡面劃分G的空間出來取整數/home的目標大小就是所以在resize_reiserfs時為s提供大小為M
  
  這樣我們就已經完成了文件系統大小調整的工作下面讓我們計算一下目標分區的大小這個大小需要根據你的fdisk裡面的Units值來計算因為硬盤分區都是按照柱面來劃分的基本的計算方法為**/=然後我們取最接近的值+=來作為分區結束的柱號這裡面的是/home分區開始的柱面號在前面的fdisk裡面可以看到
  
  調整完文件系統的大小以後再使用以下命令以文件系統進行全面的檢查
  
  [root@ringmail root]# reiserfsck check fixfixable /dev/hda
  
  現在我們已經完成文件系統的大小調整工作但是硬盤分區的大小仍然沒有調整還是跟先前一樣大(可以想像我們從書櫥裡面拿走了幾本書而書架的大小並沒有調整依然占用著原來的空間)
  
  現在我們要開始進行整個操作裡面最危險的操作如果沒有必要的話最好不要進行下去:D不過不必過於擔心按照以下操作進行即可
  
  啟動fdisk並按照以下步驟進行
  
  [root@ringmail root]# fdisk /dev/hda
  
  The number of cylinders for this disk is set to
  There is nothing wrong with that but this is larger than
  and could in certain setups cause problems with:
  ) software that runs at boot time (eg old versions of LILO)
  ) booting and partitioning software from other OSs
    (eg DOS FDISK OS/ FDISK)
  
  Command (m for help): p
  
  Disk /dev/hda: GB bytes
   heads sectors/track cylinders
  Units = cylinders of * = bytes
  
    Device Boot  Start    End  Blocks  Id System
  /dev/hda  *              Linux
  /dev/hda           +  Linux
  /dev/hda            Extended
  /dev/hda             Linux swap
  /dev/hda            Linux
  
  Command (m for help): d
  Partition number ():
  
  Command (m for help): n
  Command action
    l  logical ( or over)
    p  primary partition ()
  l
  First cylinder ( default ):
  Last cylinder or +size or +sizeM or +sizeK ( default ):
  
  Command (m for help): p
  
  Disk /dev/hda: GB bytes
   heads sectors/track cylinders
  Units = cylinders of * = bytes
  
    Device Boot  Start    End  Blocks  Id System
  /dev/hda  *              Linux
  /dev/hda           +  Linux
  /dev/hda            Extended
  /dev/hda             Linux swap
  /dev/hda            Linux
  
  Command (m for help): w
  The partition table has been altered!
  
  Calling ioctl() to reread partition table
  
  WARNING: Rereading the partition table failed with error : Device or resource
   busy
  The kernel still uses the old table
  The new table will be used at the next reboot
  Syncing disks
  
  這裡需要說明的是由於內核仍然使用舊的分區表我需要通過重新啟動才可以刷新剛制作的分區信息所以在進行完重劃分區操作以後我對系統進行了重新啟操作系統重啟後再繼續後續的操作過程
  
  通過以上步驟我們已經完成了硬盤分區大小調整的操作接下來回到重新調整文件系統大小的問題上來由於硬盤分區是按照柱面來計劃的我們要在resize_reiserfs步驟上就一步到位調整文件系統大小與硬盤分區大小正好相等是比較困難的事情所以一般是調硬盤分區比文件系統要大一點點然後再通過以下命令進行同步(當然如果你不在意硬盤分區裡面存在部分空間的話也可以忽略以下步驟)
  
  [root@ringmail root]# umount /home/
  [root@ringmail root]# resize_reiserfs /dev/hda
  
  <-------------resize_reiserfs, 2002------------->
  reiserfsprogs
  
  ReiserFS report:
  blocksize      
  block count      ()
  free blocks      ()
  bitmap block count   ()
  
  Syncingdone
  
  完成以後原有分區的大小調整操作已經結束接下來需要創建新分區
  
  [root@ringmail root]# fdisk /dev/hda
  
  The number of cylinders for this disk is set to
  There is nothing wrong with that but this is larger than
  and could in certain setups cause problems with:
  ) software that runs at boot time (eg old versions of LILO)
  ) booting and partitioning software from other OSs
    (eg DOS FDISK OS/ FDISK)
  
  Command (m for help): p
  
  Disk /dev/hda: GB bytes
   heads sectors/track cylinders
  Units = cylinders of * = bytes
  

From:http://tw.wingwit.com/Article/program/Oracle/201311/18109.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.