treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

CドライブとDドライブを分けるメリット/分けないメリット

CドライブとDドライブは分けたほうがよい、Cドライブだけでつかってもよい、と賛否あることは認識しております。
この、時と場合によりける検討事項について今日はご報告します。
賛否の両論はネット上の論議にあるのですが、今一つどんな人がどちらを選択したらよいか、という点についてあまりピンと来なかったので頭の中を整理する意味合いでまとめてみます。

CドライブとDドライブが分かれていたほうがいい場合
「データは1パーティションに固め、システム・プログラム環境も1パーティションで固めたい=データとシステムプログラムは分離したい場合。」
これが何を示しているかというと、バックアップです。

バックアップの1つのポイントは「データの更新頻度」です。
データの更新頻度の多寡によりバックアップの取得頻度を決定するのが一つの効果的バックアップとなります。
システムの更新頻度は日常使用しているデータより少ないです。月1回程度多くても週1回程度のイメージバックアップがあればシステムバックアップとしては事足ります。
データは日々使用するので毎日(数時間程度間隔)でも取得したいところです。
よって、システムとデータとをパーティションで分割し、バックアップの指定をそれぞれ

  1.  システム=イメージバックアップ=週一回(月一回)
  2.  データ=ファイルバックアップ=毎日(数時間に一回)

と分けることで、バックアップ容量の肥大化を防ぎ、一回のバックアップ取得時間も最小限で済むようにできます。
また、データの整理についてもドライブというルートディレクトリ(最近はあまり言いませんね、頂点と思ってください)からして分割することで、分かりやすいデータの保持の仕方となります。
さらに、パーティションの容量が、「Cドライブ<Dドライブ」であれば、データフォルダ用に使う以外にCドライブのイメージバックアップの保存先をDドライブにすることでイメージバックアップの取得時間はなお効率的になります。
イメージバックアップの保存先はネットワークドライブか外付けHDDが現実的な選択肢ですが、これがパーティション分割された(内蔵ディスクの)Dドライブであれば、イメージバックアップが高速に動作することが期待できます。
さらにDドライブはファイル単位でのバックアップを取得する方針ですので、イメージバックアップで取得したイメージファイルをファイル個別のバックアップで世代管理すると、段階を経たシステムイメージをバックアップすることができる、という点、なかなかに効果的です。
データはユーザプロファイル(c:\users\%ユーザ名%)で保管しておいて、Dドライブはバックアップ専用のパーティションとして使うのも手です。
Dドライブを用意しておくとバックアップの幅が広がりますので、バックアップしっかりやりたい、と考えているユーザ層にとって分割はやっておくべきといえます。

これが主にCドライブとDドライブを分割する派(以下ドライブ分ける派)の主目的ではないかと思います。
ですがこれには一つ注意点があります。
家族や社内の共有PCでこの手法を取る場合には「NTFSアクセス権」をしっかり理解し、設定しておく必要があります。
DドライブはCドライブと違って、自動的に設定されるアクセス権がユーザ個別となっていない点に注意する必要があります。
具体的に言えば、「DドライブはPCにログインできるユーザIDがあれば閲覧はできる」状態に初期設定されます。
"もし"ですよ。
xxxな秘密のデータとかxxxとxxxな見られると恥ずかしいデータとかを"もし"保存していたら…。
あくまで"もしも"の話ですよ。
家族と共有しているPCでCドライブとDドライブを分割しているPCでバックアップまできっちり設定しているところまではいいとして、この"見られると困るデータ"をDドライブにフォルダ作って保存しておいたとしたら…。
Dドライブを何気なしに見た家族がそのデータを偶然クリックした段階で丸見えです。
このデータ、削除や編集はできない場合もあるのですが、最低限の閲覧・実行であればデフォルト設定で何の制限もなく出来てしまいます。
ドライブ分ける派はもし家族や他のPCユーザを利用中のPCに追加する場合、DドライブのNTFSアクセス権について理解しておく必要があります。

ざっくりとご説明します。
これ以降NTFSアクセス権を「アクセス権」と略して表現します。
私の環境を元にご説明しますので、Dドライブを図中のHドライブに読み替えてご覧ください。
図1:ドライブ情報

f:id:treedown:20151009005543p:plain

ドライブのルートディレクトリ(H:\)を開きプロパティ画面を表示します。
プロパティ画面のセキュリティタブをクリックしてアクセス権を見ることができます。
ここで2つ画面をお見せします。
図2:ルートドライブのアクセス権(Authenticated Users)

f:id:treedown:20151009005555p:plain


図3:ルートドライブのアクセス権(Users)

f:id:treedown:20151009005604p:plain

Authenticated UsersというのはそのPCで認証されたユーザという意味です。
Active DirectoryなどでID認証の統合をしていればActive Directoryのような認証基盤で認証されたすべてのユーザがAuthenticated Users権限で動作します。
今回の話の流れでは通常はUsers権限が適用されます。(そのはずですが詳しくはご自身の環境でご確認ください。)
どちらにしろ、読み取りと実行/読み取り&フォルダの内容の一覧表示、のアクセス権がUsers権限に許可されている限り、閲覧・実行まではそのPCにログインできるユーザは制限なく可能です。
で、このアクセス権限というものは"継承"します。
次の図は「H:\マイ バックアップ\test.txt」のファイルのアクセス権です。
図4:配下のフォルダのアクセス権

f:id:treedown:20151009005704p:plain

図中に「継承元」と表示があるのは見えるでしょうか?
この継承元「H:\」とあるのがルートディレクトリからアクセス権が"継承"という形で複製されると認識してもらえれば間違いないです。
つまり、PCにログインできるユーザが誰でも閲覧可能、というアクセス権はHドライブのすべてに適用されてしまいます。
これを止めるには、画面下部の[継承の無効化]ボタンをクリックします。
クリックすると以下の画面がでますので「継承されたアクセス許可をこのオブジェクトの明示的なアクセス許可に変換します。」を選択します。
図5:継承無効化時の処理画面

f:id:treedown:20151009005752p:plain

こうすることで下図6のように「継承元:なし」になります。
図6:継承無効化後のアクセス権

f:id:treedown:20151009005802p:plain

これでアクセス権を自由に変更できますので、お好きなアクセス権に変更するのです。

※注)
アクセス権を不用意に変更し、大切なデータにアクセス出来なくなる場合があります。
(例えば誰もアクセスできないというアクセス権を設定するとそのデータを扱えるユーザは誰も存在しないことになります。)
あくまでもご自身の環境でアクセス権変更をする場合には、他のNTFSアクセス権を解説したサイト情報やテスト環境でアクセス権の確認を実行し十分に問題がないことを確認してから実際の環境に適用してください。
お約束のセリフですが当方では一切の責任を負いかねます。ご了承ください。

図7:アクセス権を設定した画面

f:id:treedown:20151009005816p:plain


アクセス権を設定し、Authenticated UsersとUsersを削除、新たに単一のユーザ(自分自身がログインしているID)をフルコントロールで追加しました。
これでAdministratorsグループ(=管理者権限グループ)に所属していないユーザはこのファイルにアクセスできません。唯一明示的に手動で追加した単一ユーザしかファイルにアクセスできないようになります。

このアクセス権設定を実施することで、ようやくCドライブ以外のドライブに保存した(恥ずかしい?)データを自分以外のユーザが閲覧できないように設定することができます。

ちょっと面倒ですよね。ユーザを追加してユーザがアクセスできる範囲をPC個別でイチイチ設定しないといけないわけですから。
これを端折りたい方、アクセス権を気にせずPCを使いたい方、という条件にあてはまる方がマルチユーザ(複数人で共有して使う)PCを使っているのであれば、Cドライブ単一でドライブ分割はしない、というドライブ分けない派が合理的ということになります。
(長らくお待たせしました。分けない派のメリットです。)
とりあえずドライブ分ける派と同じ流れでバックアップから考えてみましょう。
バックアップはシンプルにするには少々使い方を考慮する必要があります。
 システムバックアップ=イメージバックアップ=?(負担にならない頻度で)
さらにこのイメージバックアップはデータバックアップも兼ねます。イメージバックアップがフルバックアップになるので、更新頻度が高いデータはイメージバックアップソフトが備える差分バックアップ機能などを駆使して、バックアップの取り漏れがないようにしたいものです。
もしくは問題があった時にはそれなりの復旧でよいか、と割り切ってそれなりの頻度にするのも自由です。
とりあえずイメージバックアップで全部のバックアップを一括で取得するので手間が少ない、というのは一つのメリットです。シンプルイズベスト。

で、アクセス権の部分、これも分けない派は細かいことは考えなくてOK、というメリットがあります。
当然ですがWindowsはユーザプロファイル(C:\Users\%ユーザ名%)でユーザ個別のデータを個々に保管しています。これはデフォルト動作なので、何も準備が必要ありません。
自然にデスクトップやマイドキュメントに保存したファイルだとしても、そのファイル群は(Administrators=管理者権限でなければ)他のユーザの目に触れることはありません。
つまり、前で長々と説明したアクセス権設定は知識としても操作(作業)としても不要なのです。
これも一つのメリットです。
なお、「Dドライブでマルチユーザ同士のデータ共有ができるじゃないか。Cドライブ単一では実現できない。」とする向きがありますが、これはPublicユーザプロファイル(C:\Users\Public)を使用することで実現可能です。
例えばパブリックのドキュメント(C:\Users\Public\Documents)にマルチユーザ間で利用したいデータを保管するようにしておけば、ユーザAとユーザBはパブリックのドキュメント(C:\Users\Public\Documents)にアクセスしファイルを参照することは可能です。

分けない派にとってはWindowsのデフォルト設定でNTFSのアクセス権を考慮する手間が省けることとバックアップの頻度が多少効率悪くなる点をトレードオフにして、とかくPCメンテナンスに掛かる手間を少なくしたい、という趣向のユーザにとっては合理的です。

で、私はどうしてるか?聞きたい?聞きたくない?
ざっくり書くと、PCは分けない、サーバは複数に分割、という派です。

PCはCドライブ単一で運用したほうが楽です。あまり手間はかけたくないです。
とはいえ、HDDドライブに余裕があるユーザPCを複数台管理する際にキッティング作業から実施する場合には分割してDドライブをバックアップ専用パーティションにすることもあります。
サーバは分割したほうが合理的です。複数ユーザのデータを格納したり、CドライブのシステムとDドライブのデータ領域で求められる要件が変わります。いや正確にはバックアップだけでなくRAIDの要件すら変わってしまいますので、サーバは分割することになるケースが多いです。システムはRAID1が向いていますしデータ(ファイルサーバやDBサーバのデータ)はRAID5やRAID10が向いています。

一長一短ありますが、まとめにはいります。

  • マルチユーザのPCではドライブ分割せずCドライブ単一で利用したほうが楽
  • シングルユーザ(完全に個人用)のPCであればドライブ分割の検討の価値あり
  • ドライブ分割の主な需要はバックアップとデータ整理における要件
  • ドライブ分割は効率的なバックアップの取得が可能になる。
  • あまりあれこれWindowsの設定やバックアップなどを考えたくない、というユーザ向けの構成はドライブ分けない派の構成
  • イメージバックアップのベンダーエディション(無料のイメージバックアップ)やThinkPadに付属のRescue and Recoveryといったイメージバックアップを予めスケジュール設定し自動化してPC環境保全に利用するのであれば、ドライブ分割しCドライブのイメージをDドライブに保存するほうがよい。
  • オフラインで動作する時間(ケース)が多いPCでもバックアップをしっかりやりたい場合にはCドライブとDドライブは分割したほうがよい。


結局、どんな稼働をするか、と、どんな使い方をするのか、ですよね。
PCにおける選択肢ってこればっかりです。