「設定 - ストレージ」の版間の差分
129行目: | 129行目: | ||
* ラベル名を変更 | * ラベル名を変更 | ||
*: <code>sudo btrfs filesystem label <旧ラベル名のフルパス> <新ラベル名></code> | *: <code>sudo btrfs filesystem label <旧ラベル名のフルパス> <新ラベル名></code> | ||
<br><br> | |||
== クローン == | |||
==== ddrescueコマンドの使用 ==== | |||
ddrescueコマンドは、データの複製と復元のために設計されたツールである。<br> | |||
<br> | |||
ファイルやブロックデバイス(HDD、SSD、光学式ドライブ等)から別のストレージにデータをコピーする。<br> | |||
もし、読み取りエラーが発生した場合は、最初に無事な箇所をコピーする。<br> | |||
<br> | |||
まず、ddrescureをインストールする。<br> | |||
* パッケージ管理システムからインストール | |||
*: <code>sudo zypper install dd_rescue</code> | |||
*: <br> | |||
* ソースコードからインストール | |||
*# [https://www.gnu.org/software/ddrescue/ GNUの公式Webサイトにあるddrescureページ]にアクセスして、ソースコードをダウンロードする。 | |||
*# ダウンロードしたファイルを解凍する。 | |||
*#: <code>tar xf ddrescue-<バージョン>.tar.lz</code> | |||
*#: <code>cd ddrescue-<バージョン></code> | |||
*# ビルドディレクトリを作成する。 | |||
*#: <code>mkdir build && cd build</code> | |||
*# ddrescueをビルドおよびインストールする。 | |||
*#: <code>../configure --prefix=<ddrescueのインストールディレクトリ></code> | |||
*#: <code>make -j $(nproc)</code> | |||
*#: <code>make install</code> | |||
<br> | |||
故障および故障寸前のストレージをクローンする場合は、以下に示すように、ddrescueコマンドを2回実行する。<br> | |||
以下の例では、/dev/sdXがクローン元のストレージ、/dev/sdYがクローン先のストレージである。<br> | |||
# まず、読み取りエラーが存在しないブロックを全てコピーして、エラーをrescue.mapにマッピングする。 | |||
#: <code>sudo ddrescue -n /dev/sd<span style="color:#C00000">X</span> /dev/sd<span style="color:#C00000">Y</span> ~/rescue1.map</code> | |||
#: <br> | |||
# 次に、クローンされるデータの読み込みを3回試行して、不良ブロックのみをクローンする。<br>もし、読み込みできない場合は、該当ブロックのデータはクローンしない。 | |||
#: <code>sudo ddrescue -d -r3 /dev/sd<span style="color:#C00000">X</span> /dev/sd<span style="color:#C00000">Y</span> ~/rescue2.map</code> | |||
#: <br> | |||
# クローン先のストレージのファイルシステムが正常かどうかを確認する。 | |||
#: <code>sudo fsck -f /dev/sd<span style="color:#C00000">Y</span></code> | |||
<br><br> | <br><br> | ||
2022年2月19日 (土) 06:46時点における版
概要
ここでは、ストレージのマウント方法および再マウント方法を記載する。
ストレージのマウント
アタッチした追加ストレージの情報を確認する。
sudo parted -l
マウント先のディレクトリを作成する。
sudo mkdir -p /run/media/Storage1
マウントを実行する。
sudo mount /dev/sdx /run/media/Storage1
マウントしたストレージが認識されているか確認する。
df -h
ストレージの再マウント
以下のコマンドを実行して、ストレージを再マウントする。
sudo mount -o remount -rw /run/media/Storage1
ストレージの自動マウント
.profileファイルに記述する方法
ホームディレクトリにある.profileファイルに、以下の設定を記述する。
RUNLEVEL=`echo <パスワード名> | LANG=C sudo -S mount -o /dev/sdx /run/media/<ストレージ名>`
また、NASを自動マウントする場合は、以下のように記述する。
RUNLEVEL=`echo <パスワード名> | LANG=C sudo -S mount -o username=<ユーザ名>,password=<パスワード> //<IPアドレスまたはホスト名>/<ディレクトリ名> /run/media/<ストレージ名>`
※注意
NASを使用する場合は、ミドルウェアとしてcifsが必要となるので、以下のコマンドを実行してインストールしておくこと。
sudo zypper install cifs
/etc/fstabファイルに記述する方法
/etc/fstabファイルに以下の行を追記する。
# ローカルストレージ /dev/sdx /run/media/Storage1 <ファイルシステム名:xfs、ext4、btrfs等> file_mode=0755,dir_mode=0755 0 0 # NAS //<IPアドレスまたはホスト名>/<ディレクトリ名> /run/media/NAS cifs username=<ユーザ名,password=<パスワード>,uid=<マウントするユーザのユーザID>,gid=<マウントするユーザのグループID>,file_mode=0755,dir_mode=0755 0 0
※注意
マウントを実行するユーザのUIDとGIDを調べるには、マウントするユーザで以下のコマンドを実行する。
id
ストレージのラベル
ストレージのラベルの確認および変更方法を記載する。
デバイスの確認
lsblk
で対象デバイスを確認する。
# 入力 lsblk # 出力 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 596.2G 0 disk ├─sda1 8:1 0 25G 0 part ├─sda2 8:2 0 250.1G 0 part /mnt/sda2 ├─sda3 8:3 0 317G 0 part / └─sda4 8:4 0 4.1G 0 part [SWAP] sdb 8:16 1 59.8G 0 disk └─sdb1 8:17 1 59.8G 0 part /run/media/user-name/Plamo5.1x64 sdc 8:32 0 1.8T 0 disk └─sdc1 8:33 0 1.8T 0 part /run/media/user-nanme/My Passport sr0 11:0 1 1024M 0 rom
ファイルシステムの種類を確認する
df
コマンドを-T
オプション付きで実行すると、ファイルシステムの種類を確認できる。
# 入力 df -T # 出力 ファイルシス タイプ 1K-blocks 使用 使用可 使用% マウント位置 /dev/sda3 ext4 327052076 62782264 247633500 21% / tmpfs tmpfs 4038320 0 4038320 0% /dev/shm /dev/sda2 fuseblk 262199292 255269036 6930256 98% /mnt/sda2 /dev/sdb1 fuseblk 62643196 3296388 59346808 6% /run/media/hoge/external1 /dev/sdc1 fuseblk 1953480700 818545888 1134934812 42% /run/media/hoge/external2
FAT32のラベル
FAT32のラベルを変更するには、次の書式でmlabel
コマンドを実行する。
::
を付ける必要があることに注意する。
mlabel -i デバイス名 ::ラベル名
mlabel
コマンドを使用するために、mtoolsをインストールする必要がある。
sudo zypper install mtools
例えば、/dev/sdc2のラベルをSAKURAにするには、以下のコマンドを実行する。
sudo mlabel -i /dev/sdc2 ::SAKURA
デバイスをアンマウントし、再びマウントすればラベルが変更されているのが確認できる。
または、例えば、/dev/sdc1をDドライブに割り当てる設定をして、以下のコマンドを実行する。
sudo vim /etc/mtools.conf
drive d: file="/dev/sdc1"
そのラベルを確認するには、-s
オプションを付ける。
sudo mlabel -s d:
ext2 / ext3 / ext4のラベル
- 現在のラベルを確認
e2label <デバイス名>
- ラベルを変更:
e2label <デバイス名> <ラベル名>
NTFSのラベル
- 現在のラベルを確認
sudo /usr/sbin/ntfslabel <デバイス名>
- ラベルを変更:
sudo /usr/sbin/ntfslabel <デバイス名> <ラベル名>
exFATのラベル
exfat-utilsをインストールする。
- 現在のラベルを確認
exfatlabel <デバイス名>
- ラベルを変更
exfatlabel <デバイス名> <ラベル名>
Btrfs
- 現在のラベルを確認
lsblk
- ラベル名を変更
sudo btrfs filesystem label <旧ラベル名のフルパス> <新ラベル名>
クローン
ddrescueコマンドの使用
ddrescueコマンドは、データの複製と復元のために設計されたツールである。
ファイルやブロックデバイス(HDD、SSD、光学式ドライブ等)から別のストレージにデータをコピーする。
もし、読み取りエラーが発生した場合は、最初に無事な箇所をコピーする。
まず、ddrescureをインストールする。
- パッケージ管理システムからインストール
sudo zypper install dd_rescue
- ソースコードからインストール
- GNUの公式Webサイトにあるddrescureページにアクセスして、ソースコードをダウンロードする。
- ダウンロードしたファイルを解凍する。
tar xf ddrescue-<バージョン>.tar.lz
cd ddrescue-<バージョン>
- ビルドディレクトリを作成する。
mkdir build && cd build
- ddrescueをビルドおよびインストールする。
../configure --prefix=<ddrescueのインストールディレクトリ>
make -j $(nproc)
make install
故障および故障寸前のストレージをクローンする場合は、以下に示すように、ddrescueコマンドを2回実行する。
以下の例では、/dev/sdXがクローン元のストレージ、/dev/sdYがクローン先のストレージである。
- まず、読み取りエラーが存在しないブロックを全てコピーして、エラーをrescue.mapにマッピングする。
sudo ddrescue -n /dev/sdX /dev/sdY ~/rescue1.map
- 次に、クローンされるデータの読み込みを3回試行して、不良ブロックのみをクローンする。
もし、読み込みできない場合は、該当ブロックのデータはクローンしない。sudo ddrescue -d -r3 /dev/sdX /dev/sdY ~/rescue2.map
- クローン先のストレージのファイルシステムが正常かどうかを確認する。
sudo fsck -f /dev/sdY
ストレージの総書き込み量(TBW)
まず、SmartMonToolsをインストールする。
- パッケージ管理システムからインストールする場合
sudo zypper install smartmontools
- ソースコードからインストールする場合
- SmartMonToolsのGithubからソースコードをダウンロードする。
- ダウンロードしたファイルを解凍する。
tar xf smartmontools-<バージョン>.tar.gz
cd smartmontools-<バージョン>.tar.gz
- ビルドディレクトリを作成する。
mkdir build && cd build
- SmartMonToolsをビルドおよびインストールする。
../configure --prefix=<SmartMonToolsのインストールディレクトリ> \
--sbindir=/<SmartMonToolsのインストールディレクトリ>/sbin \
--sysconfdir=/<SmartMonToolsのインストールディレクトリ>/etc \
--localstatedir=/<SmartMonToolsのインストールディレクトリ>/var \
--datarootdir=/<SmartMonToolsのインストールディレクトリ>/share
--with-nvme-devicescan --without-libsystemd
make -j $(nproc)
make install
次に、SmartMonToolsを実行して、以下の項目を確認する。
- Sector Size
- Total_LBAs_Written
- Total_Writes_GiB (Total_LBAs_Written項目が存在しない場合)
- Logical Sectors Written (Total_Writes_GiB項目およびTotal_LBAs_Written項目が存在しない場合)
sudo smartctl -ax /dev/sdX | grep '\(Total_LBAs_Written\|Total_Writes_GiB\|Logical Sectors Written\|Sector Size\)'
上記で確認した値から、ストレージの総書き込み量(TBW)を求める。