web-dev-qa-db-ja.com

VMWare ESXiでのpfsenseのディスクサイズの拡張

pfsenseESXiでしばらくテストしています。そして今、私はほとんどスペースを使い果たしています。現在、約GBを保持しています。キャッシュ用のsquidのインストールを計画しているため、150GBに拡張したいと思います。これまでのところ、

  • ESXiでpfsense(シックプロビジョニングされたドライブ)のディスクを拡張しようとしましたが、拡張して空きとして表示されました。
  • インストールされたパーティションが不明なパーティションであり、割り当てられていないパーティションがサイズ変更のオプションさえ表示しなかったことを示すpfsense VMへのブートとisoによってgpartedを試みました(pfsenseがUFSファイルシステムを使用しているためだと思います)
  • 成功した新しいコピーをインストールしようとしましたが、ステータスバーも正しく表示されず、合計使用量、メモリ使用量などを確認できなかったため、UIはかなり奇妙でした。

私のpfsenseは多くの問題を引き起こしています。私が必要なのは、可能であれば古いpfsenseでディスクを拡張することだけです。それ以外の場合は、新しいGUIの修正(GUIがかなり遅いように見える)。

4
AzkerM

pfSenseは現在FreeBSD 8.xに基づいています。 UFSファイルシステムliveを拡張する機能はFreeBSD 10.xでのみ提供されるため、これはすべてレスキュー/インストールモードから行う必要があります。

最初にconfig.xmlファイルのバックアップを作成してください!

PfSenseルートファイルシステムを拡張するには、最初にBSDパーティションスキーム(別名「bsdスライス」)のサイズを適切に変更する必要があります。

  • BSDパーティションのサイズを変更します

    コンソールモードまたはsshを使用して、Shellを開始します(例は、4 GBの空きディスクを使用した4 GBのインストールのみです)。

    [admin]:gpart show

    =>      63  16777153  ad0  MBR  (8.0G)
            63   8388513    1  freebsd  [active]  (4G)
       8388576   8388640       - free -  (4.0G)
    
    =>      0  8388513  ad0s1  BSD  (4G)
            0       16         - free -  (8.0k)
           16  7339921      1  freebsd-ufs  (3.5G)
      7339937  1048576      2  freebsd-swap  (512M)
    

    (ディスクがad0と表示されていると仮定)

    [admin]:gpart resize -i 1 ad0

    ad0s1 resized
    

    古いMBRパーティションスキームに関するgpartのバグにより、MBRが古いグローバルサイズをまだ持っているため、グローバルサイズを強制的に更新する必要があります。

    freebsdの実際のパーティションサイズを取得します(gpart show ad0出力の2列目):

    [admin]:gpart show ad0

    =>      63  16777153  ad0  MBR  (8.0G)
            63  16777152    1  freebsd  [active]  (8G)
      16777215         1       - free -  (512B)
    

    bsdlabelを使用して、この値をc:行のziseに編集します。

    [admin]:bsdlabel -e /dev/ad0s1

    # /dev/ad0s1:
    8 partitions:
    #          size     offset    fstype   [fsize bsize bps/cpg]
      a:   15728640         16    4.2BSD        0     0     0
      b:    1048496   15728656      swap
      c:    8388513          0    unused        0     0     # "raw" part, don't edit
    

    したがって、この数値に一致するように編集してください。この例では:16777152(エディターはvi):

    # /dev/ad0s1:
    8 partitions:
    #          size     offset    fstype   [fsize bsize bps/cpg]
      a:   15728640         16    4.2BSD        0     0     0
      b:    1048496   15728656      swap
      c:   16777152          0    unused        0     0     # "raw" part, don't edit`
    

    パーティションのサイズが適切に変更されました。

  • pfSenseルートファイルシステムの拡張

    デフォルトのディスクパーティショニングはディスクの最後にスワップを設定するため、ルートファイルシステムを拡張する前に、まずサイズを書き留めて削除する必要があります。

    ad0s1の2番目のファイルシステムであることを確認してください-gpart show出力の3番目の列の値)

    [admin]:gpart delete -i 2 ad0s1

    ルートパーティションのサイズをすべてに変更しますが、スワップパーティションのサイズ(gpart -sオプションは整数値しか受け入れないため、7.5G = 7680M):

    [admin]:gpart resize -i 1 -s 7680M ad0s1

    ad0s1a resized
    

    [admin]:growfs /dev/ad0s1a

    We strongly recommend you to make a backup before growing the Filesystem
    
     Did you backup your data (Yes/No) ? Yes
    new file systemsize is: 3932160 frags
    Warning: 302144 sector(s) cannot be allocated.
    growfs: 7532.5MB (15426496 sectors) block size 16384, fragment size 2048
            using 41 cylinder groups of 183.72MB, 11758 blks, 23552 inodes.
    super-block backups (for fsck -b #) at:
     7525280, 7901536, 8277792, 8654048, 9030304, 9406560, 9782816, 10159072, 10535328, 10911584,
     11287840, 11664096, 12040352, 12416608, 12792864, 13169120, 13545376, 13921632, 14297888,
     14674144, 15050400
    

    そしてスワップパーティションを再作成します:

    [admin]:gpart add -t freebsd-swap ad0s1

    ad0s1b added
    

    できました。パーティションテーブルは次のようになり、ルートファイルシステムは完全なパーティションを使用するように適切に拡張されています。

    [admin]:gpart show

    =>      63  16777153  ad0  MBR  (8.0G)
            63  16777152    1  freebsd  [active]  (8G)
      16777215         1       - free -  (512B)
    
    =>       0  16777152  ad0s1  BSD  (8G)
             0        16         - free -  (8.0k)
            16  15728640      1  freebsd-ufs  (7.5G)
      15728656   1048496      2  freebsd-swap  (512M)
    

FreeBSD gpartおよびgrowfsコマンドの詳細については、以下を参照してください。

注:古いMBRパーティションスキームに関するgpartバグは、FreeBSD-10.0でもまだ当てはまります。

5
Ouki