4.2. ネットワークトラフィックの優先度設定
単一のサーバーシステムでネットワーク関連サービスを複数実行している場合には、それらのサービス間におけるネットワークの優先度を定義することが重要です。これらの優先度を定義することにより、特定のサーバーから発信されるパッケージの優先度を、その他のサービスから発信されるパッケージよりも優先度を高くすることができます。たとえば、そのような優先度は、サーバーシステムが同時に NFS および Samba サーバーとして機能する場合に役立ちます。NFS のトラフィックは、ユーザーが高スループットを期待するので、優先度を高くする必要があります。Samba のトラフィックは、NFS サーバーのパフォーマンスを向上させるために、優先度を低くすることができます。
net_prio
サブシステムを使用して、cgroup 内のプロセスの優先順位を設定することができます。次に、これらの優先度が Type Of Service (TOS) ビットに変換され、各パケットに埋め込まれます。二つのファイル共有サービス (NFS と Samba) の優先度を設定するには、手順4.2「ファイル共有サービスのネットワーク優先度の設定」 の手順にしたがってください。
手順4.2 ファイル共有サービスのネットワーク優先度の設定
net_prio
サブシステムを/cgroup/net_prio
cgroup に接続します。~]#
mkdir /cgroup/net_prio
~]#mount -t cgroup -o net_prio net_prio /cgroup/net_prio
- サービスごとに 2 つの cgroup を作成します。
~]#
mkdir /cgroup/net_prio/nfs_high
~]#mkdir /cgroup/net_prio/samba_low
nfs_high
cgroup にnfs
を自動的に移動するには、/etc/sysconfig/nfs
ファイルに以下の行を追加します。CGROUP_DAEMON="net_prio:nfs_high"
この設定は、nfs
サービスが起動または再起動された時に、nfs
サービスプロセスがnfs_high
cgroup に移動するようにします。cgroup への サービスプロセス移動についての詳細は、「コントロールグループ内のサービスの開始」 を参照してください。smbd
デーモンの設定ファイルは/etc/sysconfig
ディレクトリにはありません。smbd
デーモンをsamba_low
cgroup に自動的に移動するには、/etc/cgrules.conf
ファイルに以下の行を追記してください。*:smbd net_prio samba_low
このルールにより、/usr/sbin/smbd
のみではなく、すべてのsmbd
デーモンがsamba_low
cgroup に移動する点に注意してください。同様に、nmbd
およびwinbindd
デーモンをsamba_low
cgroup に移動させるルールを定義することができます。cgred
サービスを起動して、前の手順からの設定を読み込みます。~]#
service cgred start
Starting CGroup Rules Engine Daemon: [ OK ]- この例では、両サービスが
eth1
ネットワークインターフェースを使用していることを前提とします。各 cgroup にネットワークの優先度を定義します。ここで1
優先度低く、10
は優先度が高い数値を示します。~]#
echo "eth1 1" > /cgroup/net_prio/samba_low
~]#echo "eth1 10" > /cgroup/net_prio/nfs_high
nfs
およびsmb
のサービスを起動し、それらのプロセスが正しい cgroup に移動したことを確認します。~]#
service smb start
Starting SMB services: [ OK ] ~]#cat /cgroup/net_prio/samba_low
16122 16124 ~]#service nfs start
Starting NFS services: [ OK ] Starting NFS quotas: [ OK ] Starting NFS mountd: [ OK ] Stopping RPC idmapd: [ OK ] Starting RPC idmapd: [ OK ] Starting NFS daemon: [ OK ] ~]#cat /cgroup/net_prio/nfs_high
16321 16325 16376NFS から発信されるネットワークトラフィックの優先度が、Samba から発信されるトラフィックよりも高くなりました。
手順4.2「ファイル共有サービスのネットワーク優先度の設定」 と同様に、
net_prio
サブシステムはクライアントアプリケーション (例: Firefox) のネットワーク優先度設定に使用することができます。