論理ボリュームをフォーマットしようとすると、「該当するファイルやディレクトリはありません」

論理ボリュームをフォーマットしようとすると、「該当するファイルやディレクトリはありません」

EC2インスタンスのCentOS 7で論理ボリュームを作成しようとしています。ボリュームを接続したら、次のようにパーティションを作成しますfdisk

pvcreate /dev/xvda1
vgcreate vgname /dev/xvda1
lvcreate -L 68G vgname -n lvname

この実装後、論理ボリュームをext4としてフォーマットしようとしましたが、実行するとmkfs -t ext4 /dev/mapper/vgname-lvname次のエラーが発生します。

mkfs.ext4: No such file or directory

何が起こったのかご存知ですか?

答え1

あなたは必要かもしれませんインストールする e4fsprogsext4 ファイルシステムを作成する前の CentOS パッケージ。

一般的に言えば、一つmkfsだけフロントエンド一連のmkfs.*バイナリファイルの場合。

次の例をご覧ください。

root@locutus:/home/asd# strace -f -e trace=execve mkfs -t asdasd /dev/whatever
execve("/sbin/mkfs", ["mkfs", "-t", "asdasd", "/dev/whatever"], [/* 18 vars */]) = 0
execve("/sbin/mkfs.asdasd", ["mkfs.asdasd", "/dev/whatever"], [/* 18 vars */]) = -1 ENOENT (No such file or directory)
execve("/sbin/fs.d/mkfs.asdasd", ["mkfs.asdasd", "/dev/whatever"], [/* 18 vars */]) = -1 ENOENT (No such file or directory)
execve("/sbin/fs/mkfs.asdasd", ["mkfs.asdasd", "/dev/whatever"], [/* 18 vars */]) = -1 ENOENT (No such file or directory)
execve("/usr/local/sbin/mkfs.asdasd", ["mkfs.asdasd", "/dev/whatever"], [/* 18 vars */]) = -1 ENOENT (No such file or directory)
execve("/usr/local/bin/mkfs.asdasd", ["mkfs.asdasd", "/dev/whatever"], [/* 18 vars */]) = -1 ENOENT (No such file or directory)
execve("/usr/sbin/mkfs.asdasd", ["mkfs.asdasd", "/dev/whatever"], [/* 18 vars */]) = -1 ENOENT (No such file or directory)
execve("/usr/bin/mkfs.asdasd", ["mkfs.asdasd", "/dev/whatever"], [/* 18 vars */]) = -1 ENOENT (No such file or directory)
execve("/sbin/mkfs.asdasd", ["mkfs.asdasd", "/dev/whatever"], [/* 18 vars */]) = -1 ENOENT (No such file or directory)
execve("/bin\n/mkfs.asdasd", ["mkfs.asdasd", "/dev/whatever"], [/* 18 vars */]) = -1 ENOENT (No such file or directory)
mkfs.asdasd: No such file or directory
root@locutus:/home/asd# 

答え2

使用しているRHELのバージョンがext4をサポートしていない可能性がありますが、yum installを使用してe4fsprogsをインストールするか、パッケージをダウンロードしてftpを使用してサーバーに移動し、rpm -ivhを使用してインストールすることでこの問題を解決できます。

関連情報