あるファイルシステムから別のファイルシステムにGBを転送する

あるファイルシステムから別のファイルシステムにGBを転送する

3.8Gの空き容量がある/ opt2ファイルシステムがあり、1 GBを/ var(すべてrootvgボリュームグループ内)に転送しようとしています。ただし、転送したいGBバイトを取得するために/ opt2のサイズを変更すると、次のようになります。ボリュームグループの空き領域に反映されない

 VG     #PV #LV #SN Attr   VSize  VFree
  rootvg   2   7   0 wz--n- 64.49g    0 

まず削除してからサイズを変更しましたが、私が何を間違っているのかわかりません。

答え1

これの考えられる理由は2つだけであると確信しています。

私は(使用したコマンドを公開していないので)これが最初のコマンドだと思います。 (resize2fsまたは他のファイルシステムの場合と同様)論理ボリュームではなくファイルシステムのサイズのみを調整します。これを行うには、lvreduceorを使用する必要があります。lvresize

過去には、/のサイズresize2fsと同じ(またはより大きい)サイズ(間違いによるデータ損失の発生)を慎重に指定する必要がありましたが、今ではLVMがそれを処理します。lvreducelvresize

lvreduce -r -L -1G rootvg/«opt2»

これは-r非常に重要であり、最初にファイルシステムのサイズを変更するように指示しますlvreduce(通常、場合に備えてマウントを解除してバックアップする必要があります)。-L新しいサイズを指定します。引出線が与えられると、-サイズがどれだけ小さいかを指定します。 «opt2»はLV名のプレースホルダです。実際にこのオプションがあるかどうかlvreduceを確認するには、システムのマニュアルページを確認してください。lvreduce-r

もう1つの可能性は、非常に大きな物理範囲サイズを使用していることです。デフォルトは4MiB(古い未使用のlvm1形式を除く)なので、デフォルトをほぼ3倍増やさない限り、そうではありません。を実行してこれを確認できますvgs -o vg_name,vg_extent_size。ありがたいことに、Change Sizeを使用できますvgchange -s。減らすのは簡単ですが、増やすのは痛いかもしれません。

関連情報