Windowsのミラーボリューム(目的)
手順回りは別エントリでやるとして本項はその目的などを記載します。
- ミラーボリュームとは
PC上のデータ保存をするディスクにデータを保存・変更・削除する際に
2箇所同時に行うことで、片方のディスクに異常が発生した場合でもデータを消失しないように
なります。*1
- 用意するもの
PCにディスクを2台接続するようにします。ノートに外付けHDDやUSBでもできないことはないですが使い勝手が現実的ではないため、最低限はデスクトップ型のものにディスクを追加するのが一般的になるかと思います。
基本は同じ型のディスクを2台接続します。ミラー元以上の容量があれば基本大丈夫だと思いますが、以前にセクターサイズの差異でミラーボリューム作成に失敗しているので余計なトラブル回避のため同型が推奨です。
- メリット
データを消失しづらくなります。
- デメリット
通常の使用の仕方に比べて、容量が単純に半分になります。
うちの環境の場合2TB+2TBのディスクでミラーを組んでいますが、書き込み可能なデータ量は2TBです。
- USBメモリにファイルコピーしてバックアップと何が違うの?
データをコピーしているという点は一緒です。
ただし一切私自身は意識せずリアルタイムで行われるようになるため、手間が省けるのと
不意の故障が起きた場合にデータを最新のまま保持しておくことが可能です。
- 間違って変更したり削除したファイルを戻せたりする?
戻せません。変更や削除したことを2台とも即時に反映するためです。
- そういうツールはないの?
「構成管理ツール」ないし「構成管理システム」を入れてください。
ミラーボリュームはその目的には不適当です。
- デスクトップPCじゃないとできない?
「RAID1」もしくは「ミラー機能」を持つNASを使う、もしくはGoogleドライブやDropBoxなどを使うと良いかと思います。
前者は単純に費用と設定手間がかかる、後者は安価もしくは無料ですが運営会社の理由で使えなくなったりデータ漏洩のリスクがあります。
現在のご時世を考えればミラーボリュームを使うこと自体が割と古臭い方法です。
- なんだおっさんか
その通り。
*1:厳密には消失の確率を大きく下げるもので、確実にこれでデータが消失しないわけではありません
PC構成変更
いよいよ画面がノイズ状態になって、OSがフリーズする現象が
ここ数日何度か起こり、昨日は継続して5分と起動していられなかったので
まあ全然変えてないVGAでしょってことで新しいものに換装。(次点でメインメモリ、CPU辺り)
とりあえず30分は起動し続けているので、まあ故障点はビンゴだったっぽいです。
というわけで忘備録代わりのPC構成
・CPU: Phenom2 X4 955(C3) Black Edition 3.2GHz *4Core
・MEM: DDR3 SDRAM elixir 2GB *4枚(Single Channel)
・M/B: GIGABYTE MA785G-UD3H
・VGA: Geforce GTX650 ASUS GTX650-DC-1GD5(換装)
・HDD: OCZ SSD 60GB + HDD HITACHI 2TB(現行)+ WD20EZRX 2TB(現行) + WD20EZRX 2TB(追加)
・光学: DVD-RAMドライブ
・ケース: GIGABYTE GZ-X1
・マウス: Logitec G700
・その他: 電源650W
(NIC、サウンドはオンボードを使用)
RADEON HD4830からGefoce GTX650は相当世代上がってます。
2008年末頃に買った記録があるので、5年ちょい稼働。やっぱPCはパーツ単位の寿命伸びてるよね。
換装品は同じRADEONで探したけども、取り急ぎで入った店は微妙なものしかなかったので
今日現在で型落ちのGeforceにしてみました。まあそんなに描画処理必要なこともやってないのでスペックは十分なのですが、DVI端子2つある条件つけるとミドルレンジ級以上のボードじゃないと無理っぽいです。大人しく2枚挿しても良いかもですが。
また、前回ディスクミラーリングがセクタ単位の不一致でできなかったので、追加でHDD買ってきました。適当に選んだ結果、型番ビンゴ。すげーな俺。
ディスクミラーについてはまた後日設定&記載予定。
Google App Scriptを書いてみた
とりあえずテスト実行的な何か。
参考にしているURLは下記
http://libro.tuyano.com/index2?id=638001
- 実行環境
初回のみGoogleドライブ→作成ボタン→アプリの追加
から「スクリプト」を選択して追加する。
以降は作成ボタン→スクリプトでGoogleドライブにスクリプトファイルが追加される。
- メール送信
function myFunction() {
GmailApp.sendEmail("TestAddresses@gmail.com","ScriptTest", "This is TestMail");
}
リテラル直書きしてるけど、さくっと動作確認なので。
念のため送信先メールアドレスの箇所は架空にしました。
尚、メールの送信元は強制的に動作させているGoogleアカウントのGmailアドレスになります。
- カレンダー予定追加
function createEvent(calendarId) {
var cal = CalendarApp.getCalendarById("MyTestCalendar");
var title = 'Script Demo Event';
var start = new Date("2014/1/23 08:00:00 +0900");
var end = new Date("2014/1/23 10:00:00 +0900");
var desc = 'Created using Google Apps Script';
var loc = 'Script Center';
var event = cal.createEvent(title, start, end, {
description : desc,
location : loc
});
};
こちらは新規作成から作れるサンプル改造。
カレンダーIDの箇所は動作したものから変更しました、念のため。
getCalendarByIdメソッドで渡すカレンダーIDはGoogleカレンダーのカレンダー名で良さそう。
2バイト文字が使えるかは不明だけど、多分大丈夫じゃないかと。
Descriptionはカレンダーの「説明」項目、Locationは「場所」項目に入ります。
以下検証項目予定
- スクリプトをリンククリックで動かす
- スクリプトを指定時間ごとに実行させる
- Googleスプレッドシートの所定ファイルの所定セルに何か書き込む
- Googleスプレッドシートの所定ファイルの所定セルを読み出してメールに出す
- Googleスプレッドシートの所定ファイルをコピーして、日付付きの名前に変更後、そのファイル内の日付を更新する。
とりあえずこれくらいできると、目下使いそうなことは大半できそうな気がする。
自動化するかの判断ポイント
個人的なもの。
事務処理やらサーバコンソール操作関係において
マクロ作ったり、シェルやらスクリプトやらを組む前に
「それが必要なのか?」を判断するポイントを整理する。
・その作業は繰り返し実施するか?
1発モノの作業であれば作業工数<自動化工数となる。ほとんどにおいて。
作業精度向上を狙うなら、箇条書きチェックリストのテキストで概ね十分であることが多い。
その作業自体を1年程度のスパンで考えて4度以上実施する想定が立つ場合に自動化を考える。
(とは言え頻度が低ければ低いほどチェックリストで事足りることが多いけど)
・気乗りのする作業か?
個人的に以前と同じような作業を繰り返すこと自体が苦痛であるため繰り返し実施と半ば被るのだが、
気乗りのしない仕事ほど自動化作業にして多少モチベーションを維持する。
・横断的な作業であるか?
同じような繰り返し手順を複数台のサーバに繰り返す等にも当てはまるが
Excelのシートと、Webフォームと、サーバコンソールとと複数横断する作業は
切り替えで割と作業速度と精度が遅くなる。
その場合、どちらかの操作量を減らすためにシェルやスクリプトを書くことがある。
とは言えやっぱり一発物をフルスクラッチで書くのはコストがかかるため、この場合は使い回しできるかが判断に混じる。
個人的にはざっくりこんなところで、やって損はないかなと思えば何か書き出すようにしている。
ただ技術的・規約的(ルール的)に難しい場合もあったりするので、その辺りで引っかかる場合はやらない。構成管理対象なんかはよく止める例。
まあ、チマチマした気乗りしない作業でもなんか能動的な観点を持っておくこと自体が
悪くないのかもしれないですね。
雑多
3Dプリンタぽちった。あとは3Dスキャナだな。
仕事の量が概ね1.5~2倍になった。
4人でやってた作業を一人退職、一人は別プロジェクトメインになってほぼ仕事せず。
そのため仕事の自動化レベルが一つ上がって、応用するとGoogle Apps Scriptに仕込んで事務処理がかなり自動化できそうな予感がしてきてます。
現状Outlookの予定表の設定したアラームがなったら本文テンプレ+指定宛先+日付等々はOSの時計引っ張って内容確認したらメール送信できるような状態の画面を出すマクロを組んでみて
GoogleカレンダーとGmail、Googleドライブ連携でGoogle Apps Scriptで結べば同じことできるんじゃないかなーと思案中です。まだ調べてない。
それらが整備されれば下手な事務作業ほぼカレンダーに予定突っ込んで自動処理して終わるから楽になるなあ。定期的なものはカレンダーの定期アイテムでOKだし。
そのうち何か試作するかもしれません。
とりあえず
・3Dプリンタいじる。CAD慣らしが先だけど。
・3Dプリンタ設置のためラック組むのと、余分なゴミの処分
・合間に確定申告。
・さらにその合間にGoogle Apps Script
・見たいDVDを見終わってない
いつ終わるんだこれ。