ストレージ管理
ディスク使用量の確認
ファイルシステム全体の使用状況を確認するには、df コマンドを使用します。人間が読みやすい形式で表示するには -h オプションを付与します。
df -hT
Linux 環境におけるストレージデバイスの命名規則は、通常 /dev/sd[a-z] の形式をとります。
ディレクトリサイズの調査
特定のディレクトリが占有する容量を調べるには du コマンドが有効です。概要のみを表示し、単位を自動調整するには以下のオプションを組み合わせます。
du -sh /var/log
-s: 合計値のみ表示-h: K, M, G などの単位で表示
dd コマンドによるデータ操作
dd コマンドは、ファイルのコピーや変換、ゼロファイルの作成などに利用されます。
dd if=/dev/zero of=/tmp/dummy.bin bs=4K count=1000
if: 入力ファイル(input file)of: 出力ファイル(output file)bs: バイトサイズ(block size)。K, M, G などが指定可能count: ブロックの数
RAID 構成の種類
複数のディスクを組み合わせる RAID 技術にはいくつかのレベルがあります。
- RAID 0: ストライピング。读写性能が向上しますが、冗長性はありません。最低 2 台必要。可用容量は全ディスクの合計。
- RAID 1: ミラーリング。書き込み性能は低下しますが、読み込みは向上し、冗長性があります。最低 2 台。可用容量は最小ディスクのサイズ。
- RAID 5: パリティ分散。读写性能向上と冗長性(1 台故障まで対応)を両立。最低 3 台。可用容量は (N-1) * サイズ。
- RAID 6: 二重パリティ。2 台までの故障に対応。最低 4 台。可用容量は (N-2) * サイズ。
- RAID 10: RAID 1 と RAID 0 の組み合わせ。性能と冗長性を重視。最低 4 台。可用容量は全体の 50%。
ネットワーク設定
IPv4 の基礎
IPv4 アドレスは 32 ビットで構成され、ネットワーク部とホスト部に分かれます。
- クラス A: 第 1 オクテットがネットワーク部(1-126)。サブネットマスクは 255.0.0.0。
- クラス B: 第 1・2 オクテットがネットワーク部(128-191)。サブネットマスクは 255.255.0.0。
- クラス C: 第 1・3 オクテットがネットワーク部(192-223)。サブネットマスクは 255.255.255.0。
- プライベートアドレス: 内部ネットワークで使用可能(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)。
CIDR とビット演算
CIDR(クラスレスドメイン間ルーティング)では、サブネットマスクを用いてネットワーク範囲を定義します。ネットワーク部の算出にはビット論理積(AND)を使用します。
主なビット演算の例:
5 & 3 = 1 (論理積)
4 | 2 = 6 (論理和)
7 ^ 5 = 2 (排他的論理和)
~2 = -3 (ビット反転)
4 << 1 = 8 (左シフト)
8 >> 2 = 2 (右シフト)
例えば、10.20.43.65/10 のネットワークアドレスを算出する場合、IP アドレスとサブネットマスクのビット論理積を取ります。
IP アドレスの操作
ip コマンドを使用し、ネットワークインターフェースの設定を管理します。
# IP アドレスの追加
ip addr add 10.0.0.5/24 dev eth0
# IP アドレスの削除
ip addr del 10.0.0.5/24 dev eth0
# エイリアス付きで追加
ip addr add 10.0.0.6/24 dev eth0 label eth0:0
ネットワーク設定ファイル
静的 IP 設定などは、以下の配置文件を編集することで永続化できます。
ファイルパス:/etc/sysconfig/network-scripts/ifcfg-eth0
TYPE="Ethernet"
BOOTPROTO="static"
DEFROUTE="yes"
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
IPADDR=10.0.0.5
NETMASK=255.255.255.0
GATEWAY=10.0.0.1
DNS1=8.8.8.8
DNS と主机名
DNS サーバーの設定は /etc/resolv.conf に記述します。
nameserver 8.8.8.8
nameserver 8.8.4.4
主机名の変更は hostnamectl コマンドで行います。
hostnamectl set-hostname web-server-01
ネットワーク状態の確認
ソケット統計情報を表示するには ss または netstat を使用します。
ss -tulpn
-t: TCP-u: UDP-l: 聴取中(Listening)-p: プロセス名を表示-n: 数値表示(名前解決しない)
サービス管理とダウンロード
systemd 環境では systemctl を使用してサービスを管理します。
systemctl start nginx
systemctl stop nginx
systemctl enable nginx
systemctl status nginx
ファイルのダウンロードには wget が便利です。
wget -c -O backup.tar.gz http://example.com/file.tar.gz
定期タスク(Cron)
crontab の設定
システム全体のcron設定は /etc/crontab で管理され、ユーザーごとの設定は crontab -e で編集します。
設定形式(システム cron):
# 分 時 日 月 曜日 ユーザー コマンド
0 2 * * * root /usr/local/bin/backup.sh
30 8 * * 1-5 www-data /var/www/cleanup.sh
*/10 * * * * root /usr/bin/health_check.sh
主な crontab コマンドオプション:
-e: 編集-l: 一覧表示-r: 削除-u user: 指定ユーザーの操作
実行ログは /var/log/cron に記録されます。コマンド記述時には絶対パスを使用することが推奨されます。
ネットワーク診断
接続確認には ping コマンドを使用します。ICMP プロトコルを用いてホストの到達性を確認できます。
ping -c 4 10.0.0.1
ICMP は TCP/IP プロトコルスイートの一部であり、ネットワークエラーや制御消息の伝達に利用されます。