LVM - ./home ./var ./srvを同じパーティションに再配置する

LVM - ./home ./var ./srvを同じパーティションに再配置する

私はCentOS-8を仮想化ホストとして使用しています(したがって、あまりにも多くのアプリケーションをインストールするのを避けたい)。 1xドライブ、LVMファイルシステム

新しくインストールしました。./boot、、、./boot/efi./home./

それぞれには独自のパーティションがあります。

/var、、、および/tmp/srv含むパーティションに再配置するには、どのツールとコマンドが必要ですか/home

答え1

これらのディレクトリを下にコピーして/home(使用)シンボリックリンクを作成(使用)することでこれを行うことができますが、これは良い考えではありません。mvln -s

シンボリックリンクとして意図されていない最上位ディレクトリをシンボリックリンクすると、多くのアプリケーションがこの動作を予期しないため、デバッグしにくい問題が発生することがよくあります。たとえば、O_NOFOLLOWファイルを開くときにセキュリティ上の理由でアプリケーションを使用している場合、シンボリックリンクを作成してもアプリケーションは機能しません。私はこれが起こるいくつかの状況を見てきましたが、配布マネージャー(ソフトウェアの作者は言うまでもありません)は通常、この状況で発生する問題には興味がありません。なぜならサポートされていないからです。

/一般に、、、、およびを1/homeつのパーティションに配置し、LVMを使用して拡張可能にするか、別々に必要なものに対して別々のパーティションを作成することをお勧めします。/var/tmp/srv

すでにLVMを使用していて、すでに使用されている同じボリュームグループの一部として追加の論理ボリュームを作成する場合は、ボリュームグループを見つけて次のように追加の論理ボリュームをsudo vgdisplay -c | cut -b3- | cut -d: -f1作成できます。

SIZE=100m # for example
DIRNAME=/srv # for example
VOLGROUP=$(sudo vgdisplay -c | cut -b3- | cut -d: -f1)
sudo lvcreate -L $SIZE -n $(basename "$DIRNAME") $VOLGROUP
sudo mkfs.ext4 /dev/mapper/$VOLGROUP-$(basename "$DIRNAME")
sudo mount /dev/mapper/$VOLGROUP-$(basename "$DIRNAME") /mnt
sudo cp -a $DIRNAME/* $DIRNAME/.* /mnt
sudo umount /mnt
# Add the new /dev/mapper/$VOLGROUP-$DIRNAME device pointing to
# $DIRNAME to /etc/fstab

シングルユーザーモードでこれを実行してから再起動する必要があります。

関連情報