Sshとvncを介してのみアクセスできるサーバーで(「ライブ」CD/DVDからのブートは不可能であることを意味します)、/ varに割り当てられたパーティションを圧縮します(スペースを空けるために追加のパーティション)。それを行うための良い安全な方法は何でしょうか?
解決策(/ varのコピーを収容するのに十分なスペースが/にある場合、David Spilletの回答に基づく):
ルートパーティションに/ varの内容用のスペースがある場合は、次のことができます。
/var
を使用しているものをすべて停止しますmount -f -oremount,ro /var
/var
を/
にmkdir /vartmp; cp -av /var/* /vartmp/
を付けた別の名前でコピーmv /var /varmount; mv /vartmp /var
で移動/var
の/etc/fstab
のエントリをコメント化これで、ルートパーティションに/var
がそのままではなく、そのまま配置されます。これで、必要に応じて古いパーティションのサイズを変更できます。ステップ4では、マウントポイントとして使用されていてビジー状態であっても、/var
ディレクトリの名前を変更できます(開いているファイルを処理すると、開いているファイルがパス+名前で参照されないため、変更が追跡されます。が、代わりにiノードによって、一度開かれます)。
/
にはスペースがなく、/someotherfs
にはスペースがある場合は、/
のシンボリックリンクを使用してそこに移動することができます。
/var
を使用しているものをすべて停止しますmount -f -oremount,ro /var
/var
をcp -av /var /someotherfs/var
とともにコピーmv /var /varmount; ln -s /someotherfs/var /var
で移動/var
の/etc/fstab
のエントリをコメント化起動時に/someotherfs
が/var
の前にマウントされることを確認する必要があるため、これは少し危険です。
一時的にコピーする場所がない場合は、キャッシュされたパッケージ(Debianスタイルのセットアップでは/var
)などを削除することで、aptitude clean
のサイズを削減できる可能性があります。同等のyum
コマンド)、他のものを移動します(たとえば、Debianはデフォルトのhttpdocsを/var/www
に保持するため、まだそこにあり、そこに大量のデータがある場合は、別のパーティションに移動します)、/var/log
から最近ではないファイルを削除します(後で参照する必要がある場合に備えて、最初にバックアップします)。
Zoredacheが言うように:何をするにしても、先に進む前にバックアップの配置に満足していることを確認してください。
注意:上記はすべてメモリからのものであり、私はどこでもテストしていません。自己責任でフォローしてください!
従来の方法は シングルユーザーモードで起動 です。そのように、/var
はデフォルトではマウントされないので、好きなようにいじることができます。
コンソール(イーサネット経由のキーボードビデオマウスなど)にアクセスできる場合は、次のことができます。
init 1
(そしてroot-passwordを与える)systemctl stop systemd-timesyncd
は、使用する場合にのみ必要ですumount /var
e2fsck /dev/volume-where-var-is-in-your-system
resize2fs /dev/volume...
何にでも(私の場合は縮小したかったので-M
)lvresize
または何でも)その後、再起動します
シングルユーザーが最も安全な方法です。
これらの手順では、Red Hat 7.xシステムでのvar LV/FSのサイズ変更について説明します
シングルユーザーに入る前にインベントリを取得します。
# df -h /var
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg00-var 13G 6.2G 5.9G 52% /var
# vgs
VG #PV #LV #SN Attr VSize VFree
vg00 1 7 0 wz--n- <39.51g <2.63g
# lvs | grep var
var vg00 -wi-ao---- <12.86g
使用しているプラットフォームに関連するシングルユーザーモードで起動します。
注:システムは/ sysroot経由でアクセスできます。
Vg00をアクティブ化します。
# lvm vgchange -ay vg00
LVデバイスファイルを再作成します。
# lvm vgmknodes -vv
# e2fsck -f /dev/vg00/var
安全のため、FSを8GBに、次にLVを8.5GBに削減します(FS記入してサイズを変更してから)):
# /sysroot/sbin/resize2fs -p /dev/vg00/var 8G
いくつかのサイズ変更数学:
VG PE size: PE Size 4.00 MiB
4M * 1024K = 4096K
8.5G * 1024K * 1024K = 8,912,896K
8,912,89 / 4096 = 2176 PEs
注:最初に次のエラーを受け取り、locking_typeを手動でオーバーライドする必要がありました:「読み取り専用のセットロックタイプ。書き込みロックは禁止されています。」
# grep locking_type /etc/lvm/lvm.conf
locking_type = 4
LVを下げる:
# lvm lvreduce -l 2176 /dev/vg00/var --config 'global {locking_type=1}'
サイズ変更を再実行して、LVコンテナーを8.5GBまでいっぱいにします。
# /sysroot/sbin/resize2fs /dev/vg00/var
新しいサイズを確認:
#lvm lvs
# reboot