2018/10/01
ディスクスペースを拡張してみる@物理ディスク
ここに掲載している記事は一部間違っているため、新しい記事を書き直しましたのでそちらをご参照ください。
[修正版] ディスクスペースを拡張してみる@物理ディスク

bsdlabel なんて使いません。(白目




今度は本番。
gmirror でミラーされた、器は 1TB、中身は 500GB な HDD を 1TB に広げる作業。
流石に dump | restore の 24時間マラソンはサービス影響的に厳しい。

gmirror で複製を取っているため GEOM が「やらせるものかー!」と邪魔をしてくるので、fdisk の代わりに gpart を使ったり geom.debugflags を 16 にして黙らせる必要有り。
gpart → bsdlabel → growfs

% gpart recover ada2  ★おまじない
ada2 recovering is not needed

% gpart show ada2
=>        63  1953525105  ada2  MBR  (932G)
          63   976768002     1  freebsd  [active]  (466G)
   976768065   976757103        - free -  (466G)  ★余ってる領域

% sudo gpart resize -i 1 -s 1000GB ada2
gpart: size '2097152000': Invalid argument  ★大きかった

% sudo gpart resize -i 1 -s 932GB ada2
gpart: size '1954545664': Invalid argument  ★大きかった

% sudo gpart resize -i 1 -s 930GB ada2
ada2s1 resized  ★取れた。

% gpart show ada2
=>        63  1953525105  ada2  MBR  (932G)
          63  1950351360     1  freebsd  [active]  (930G)
  1950351423     3173745        - free -  (1.5G)  ★ちょっと余った 

% sudo gpart resize -i 1 -s 931GB ada2
ada2s1 resized

% gpart show ada2
=>        63  1953525105  ada2  MBR  (932G)
          63  1952448512     1  freebsd  [active]  (931G)
  1952448575     1076593        - free -  (526M)  ★惜しい
% sudo gpart resize -i 1 -s 932GB ada2
gpart: size '1954545664': Invalid argument  ★残りが取れない
% sudo gpart resize -i 1 -s 1953525105 ada2  ★ada2のブロック数全部を指定
ada2s1 resized  ★取れた!
% gpart show ada2
=>        63  1953525105  ada2  MBR  (932G)
          63  1953525105     1  freebsd  [active]  (932G)
教訓。サイズ (-s) はバイトサイズではなくブロックサイズで指定しよう。

これで拡張できました。
次に bsdlabel で広げるが、"Operation not permitted" と言われるので geom.debugflag=16 にして黙らせる。
% sysctl kern.geom.debugflags
kern.geom.debugflags: 0
% sudo sysctl kern.geom.debugflags=16
kern.geom.debugflags: 0 -> 16
bsdlabel で広げる。
-w じゃなくて -e だからな!間違うなよ!!!!
% sudo bsdlabel -e /dev/ada2s1
# /dev/ada2s1:
8 partitions:
#          size     offset    fstype   [fsize bsize bps/cpg]
  c: 1953525105          0    unused        0     0     # "raw" part, don't edit
  d: 1953525105          0    4.2BSD        0     0     0
★先頭からきっちり使っているのでサイズは同じ数字にする。
今回は gmirror によって先頭 16ブロックを無視して完全にゼロから使いはじめていたので c: と d: の値は同じになった。
初めに bsdlabel スライス でオフセットがどうなってるかを確認してから適切な数字を入力すること。

終わったら geom.debugflag を元に戻しておく。
% sudo sysctl kern.geom.debugflags=0
kern.geom.debugflags: 16 -> 0
最後に growfs。
% sudo growfs /dev/ada2s1d
It's strongly recommended to make a backup before growing the file system.
OK to grow filesystem on /dev/ada2s1d from 466GB to 932GB? [yes/no] yes
super-block backups (for fsck_ffs -b #) at:
 977009952, 977386304, 977762656, 978139008, 978515360, 978891712, 979268064, 979644416, 980020768, 980397120, 980773472,
(省略)
見てみましょう。
% sudo mount /dev/ada2s1d /mnt
% df -m
Filesystem             1M-blocks   Used  Avail Capacity  Mounted on
/dev/ada0s1a               36959   7565  26437    22%    /
devfs                          0      0      0   100%    /dev
/dev/da1s1d                  952     70    806     8%    /var/log
/dev/mirror/mirror0s1d    461929 346476  78498    82%    /pub1
/dev/md0                     290      0    266     0%    /tmp
/dev/ada2s1d              923859 346456 503493    41%    /mnt
以上。


最終:2018/10/01 21:54:10 カテゴリ:雑記
タグ:鯖管理
  • tsh:お久しぶりです、こんなところに書く内容ではないですが。
    G兄様提供のどるこむ過去ログ検索が、検索実行をすると500 Internal Server Errorで動かないようです。

    今のところはチャム&レオ様提供のどるこむ過去ログ検索は実行できるようですので
    とりあえずはそっちを使いますが、一応報告だけさせていただきます。
  • G兄:お久しぶりでーす!
    あ、OSバージョンアップの影響ですね。ちょっと見てみます。
  • G兄:あ、これnamazuか〜…。
    かなりやっかいなのでちょっと時間かかります。
    Namazu入れて解決するかな?
  • G兄:入って無かった物を入れたら使えるようになりました〜。
  • tsh:ありがとうございます。
    すぐに対応していただいていたみたいで・・・
    どうぞこれからもよろしくお願いいたします。
QRコード
携帯サイト試験運用
https://griffonworks.net/nikki/cgi-bin/k.cgi
1行板

備忘録
  • 無し
物欲リスト
  • Canon RF50mm F1.2L USM
  • SIGMA 20mm F1.4 EF Art
  • ニンバス チヌーク
  • OCB-1 ST II
ツーリング ドライブ兼野外撮影予定リスト