• 締切済み

データが壊れにくい保管・運用方法について

データを保存する場合に利用されるのが主にテキストファイルとデータベースです。 (データベースといってもファイルの集合体ですが) 質問は2点あって、ひとつはテキストファイルを利用する場合、ファイル自体の破損を防ぐにはどうすればいいかということ。カウンターを作っても、値が飛ばずに完全に機能するようなものを作るにはどうすればいいでしょうか? もうひとつはデータベースは破壊されることはないのか? ということです(どういうときに壊れるのか、壊われるなら、それを防ぐ方法が知りたいです)。 ハードディスクがクラッシュしたとか、サーバーの電源が落ちたというのはナシです。

  • CGI
  • 回答数2
  • ありがとう数2

みんなの回答

  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.2

> 多重化で対応するしかないと思います。 多重化って、ディスクのミラーリングですか? 複数の CPU に同じ処理をさすんですか? いずれの場合も、CGIのバグに対しては無力だと思いますが? バグを想定して任意の時点に戻るためには、更新ログ方式が良いと思います。

cej9rbwh
質問者

お礼

>多重化って、ディスクのミラーリングですか? 複数の CPU に同じ処理をさすんですか? 違います。ひとつの処理だけに頼らない、という意味で使用しています。たとえば、まずlockを使用します。そして1個のファイルへ書き込むのではなく、複数のファイルへ交互に書き込むようにすれば、1個で運用しているよりは安心して運用できるでしょう。そういう意味で使用しています。

  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.1

故障やOS・Webサーバーソフト等の不良・誤動作以外で問題が起るのは、大抵は CGIのバグか排他の問題でしょう。 CGIのバグは、地道に潰すか、もしくは保証付きの有償ソフトを利用しましょう。(本当にあるかは知りません) 排他の問題というのは、複数の閲覧者が同時または前後して送信した時に、CGIが同じファイルを更新しようとした場合に発生し得ます。 Perlでファイルを更新するなら、flock() とかを使ってうまくやれば問題発生を回避できます。 データベースエンジンの場合は、エンジン次第でしょう。 いずれの場合も安全なコードを書くには実力勝負になります。 何かを教えてもらえばOKと言う性質ではありません。

cej9rbwh
質問者

お礼

>何かを教えてもらえばOKと言う性質ではありません。 多重化で対応するしかないと思います。flock()を使用すると同時に、対象ファイルを多重化しておく。さらに定期的なバックアップをとって、万が一、壊れた場合の復旧作業をやりやすくしておく。しかし、果たしてこれで完璧なのだろうか? 他に手段はないだろうか? という思いが残りますね…。

関連するQ&A

  • VHDファイルからハードディスクに復元する方法

    データ作成機(Windows NT)のハードディスククラッシュの為に、 VHDファイルにてバックアップを考えています。 バックアップしたファイルを別のパソコンで使用したりしません、 本体側に、特殊なボードが付いており、それがないと動きません。 ハードディスククラッシュの時に備えて、ハードディスクは当方で 準備しています。 メーカーは、ハードディスククラッシュ時には、当方で用意した ハードディスクを、送付することで、設定後のハードディスクを 送られてきます。 当方にてクラッシュしたパソコンのハードディスクと交換です。 クラッシュしたハードディスクは、メーカーへ送付。 この費用約50万円。 専用のボードが故障した場合、故障したボードを送付、 代わりのボードが送られてきて、当方にて取替え。 この費用100万円です。 とりあえず、ハードディスククラッシュに備えて、 イメージで保存するということで、ハードディスクを 取り出し、リムーバブルHDDケースに入れ、 別のPCでDisk2VHDを利用してVHDファイルに変換、 変換したファイルを DVDに保存。 古いDVDはシュレッダーにて廃棄。 クラッシュ時には、VHDファイルからハードディスクに 復元して、本体に取り付けるを考えています。 VHDファイルからハードディスクに復元は可能でしょうか? 可能であれば、ソフトを紹介して頂きたいです。 ネットで調べてもライセンス違反になるとかで回答が 入っていないのが多いです。 今回の使い方は、ライセンス違反でしょうか? まず、ボードがないと動かないので別PCで動かしようがない。 メーカーにハードディスクを交換(取替えの作業はこちら)だけで 50万円は高いと思いこのように考えています。

  • さくらのレンタルサーバーのデータベースについて

    さくらのレンタルサーバーのデータベースは利用しやすいでしょうか?ご利用中の方、教えてください。 ロリポップでは、 作成できるデータベースは1つだけ。 テーブルにテキストファイルを追加する とき 最大サイズ: 2,048KB の制限があり、大きなデータを入れるときちょっと面倒です。 エックスサーバーでは、 データベースはいくつも作成できます。 テーブルにテキストファイルを追加する とき 最大サイズが大きめなので、大きなデータを入れるとき便利。 さくらはどうでしょうか?

  • クライアントとしての停電等によるデータ保護方法を教えて!!!

    ビルの法定点検による停電で、メールサーバやファイルサーバが、クライアント側から使えなくなります。 その際に、万が一クラッシュ等してしまった場合でも、自分の大切なデータ-を守るために、事前にしておくでく事を教えてください!!

  • SATAHDDのうまい運用方法

    現在CentOS(東芝Magnia3300)でサーバー運用中です。 FTPサーバーとして使用していたのですが、軽いファイルサーバー(Samba)としても運用を開始しました。 そこである疑問に突き当たりました。 システムがインストールされているのは、40GBのSCSIのHDDです。 FTPの転送先も上記のHDDで運用しています。この40GBSCSIは24時間稼働中です。 そしてファイルサーバーとして使用するために、PCI-X上にSATAを増設し、 SATA1TBのHDDを二台搭載しました。 この二つのHDDはRAID1(ソフトウェアRAID)でext3でフォーマットされています。 これはSambaで利用しています。(Sambaは深夜および早朝は全くアクセスがない) そこで疑問なのです。SATAHDDは一日7~8時間程度の運用をもとにしたものと明記されていましたが、 実際問題、使用しない深夜にSATAHDDの電源を落とすのと、24時間つけっぱなしとでは どちらが長持ちするのでしょうか? またHDDを個別に電源を切る方法もわかりません。 (スイッチをつけて強制的に電源を落とすというのは不可能です。 なぜならサーバーで普段手の届かない場所に置いてあるので、 物理的にHDDをいじるのはあまりにめんどうくさいし手間がかかって不可能なのです) わかりにくくなってしまいましたが質問内容は以下のとおりです↓ (1)SATAHDDは使わない時間電源を落とすのと、24時間つけっぱなしどちらが寿命が長いのか? (2)Linux上で個々のHDDの電源をどうやってリモートでOFFにするのか? です。みなさんのご意見お待ちしております。よろしくお願いします。

  • 使用中に電源が急に落ちてしまう

    症状として又復旧の流れ   1.最初のころは、使用中に電源が落ちてしまう   2.そのうちログインしたら電源が落ちてしまう   3.ノートンワークスにて、「ハードディスクの一部にクラッシュ     し破損している可能性があります」と出る   4.メーカへ返品・修理を依頼   5.メーカ曰く「ハードディスクが破損している」とのことから     ハードディスクを交換   6.交換・返却後電源を入れ、ログインすると電源が落ちる症状があ    り、使用中にも電源が落ちる症状がでる   購入して半年あまり、メーカの回答としてハードディスクが悪くなっ  ていますので交換しましたというだけで、修理後も電源が落ちてしま  うのには「何で?」と感じています。   使用環境として : 外付けHDD、4ポートハブ、ルータ経由で             VDSLを使用、電源はタップより使用   又使用中に電源が落ちハードディスクがクラッシュしてしまうんじゃ  ないかとドキドキしながら使用しています。   どなたか良きアドバイスを頂けたらと、初めて投稿させていただきま  した。   よろしくお願いいたします。   

  • ファイルメーカーProでテキストフィールドに入力したファイル名のデータベースを開く方法について

    ファイルメーカーPro8を利用しております。 スクリプトを利用して、テキストフィールドに入力したファイルメーカーProのデータベースファイルを開きたいと思っております。 「ファイルを開く」スクリプトでは決まったファイル名を開くことはできましたが、動的(フィールド名に入っている値を参照)にファイル名を指定することはできませんでした。 なにか良い方法がないでしょうか?

  • 共有ファイルの保管方法について

    はじめまして。 社内LAN上のバッファロー・リンクステーション(ネットワーク対応の外付けハードディスク)に共有ファイルを保管しておりましたが、急な停電で電源が落ちたショックで壊れてしまいました。 共有ファイルの保管方法を見直すにあたり、Windows Serverなどのファイルサーバーの設置を検討しましたが、高価なのでデスクトップのパソコン(Windows7などのサーバー用OSでない普通のパソコン)に共有ファイルを保管しようと考えております。 バックアップは、共有ファイル保管用デスクトップパソコン(Windows7)に外付けハードディスクを接続する予定です。 また、共有ファイル保管用デスクトップパソコン(Windows7)にUPSを接続し、停電にも備えるように考えております。 ネットワーク構築サービスを行っている業者に相談すると、上記の案はピア・ツー・ピア方式であり、サーバー・クライアント方式ではないので共有ファイルへのアクセス制限ができない等の不都合があると言われましたが、アクセス制限等は考えておりません。 趣旨としては、社内の共有ファイルを保管するスペースを設けるだけで、それ以上の機能は要りません(データのバックアップは念入りにしたいです)。 オンライン・ストレージは不可です(共有ファイルを社内に留めるため)。 上記の案で何か不都合が生じることや、考え方の間違いがありますか。 ご指摘をいただければ幸いです。 よろしくお願い致します。

  • データベースサーバの必要性

    初歩的な質問させて頂きます。 データベースサーバはなぜ必要なのでしょうか?データベースを保存するのが目的ならば、ハードディスクがあれば良いのではないのでしょうか? そうなってくると、ファイルサーバと同じなのではないのかと思ってしまいます。 ファイルサーバとの違いも教えて頂ければ助かります。 よろしくお願いします。

  • phpMyAdminでのデータのインポートについて

    はじめまして。 レンタルサーバーで、MySQLを利用しています。 利用しているレンタルサーバーは、TELNETなどは利用できず、MySQLのデータベースを管理するのに、phpMyAdminを利用するようになっています。 用意したCSVファイルをサーバーのデータベースにインポートしたら、csvファイルが2MBを超えており、phpMyAdminの管理画面のインポートからは、2MB以内に分割しないとアップできませんでした。 分割するのが面倒なので、1回でインポートできないかと思い調べたら、 SQLで、LOAD DATA INFILE でインポートできないかと思い試してみました。 最初は、LOCALというのを入れずにやったらエラーが出たのですが、これは、同じサーバーにアップされたファイルからインポートというこなので、権限がないので無理ということがわかりました。 そこで、LOCALをつけて試しました。 ●試したSQLの内容 LOAD DATA LOCAL INFILE 'c:\mihon.txt' REPLACE INTO TABLE test FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'; 上記をphpMyAdminのSQLのとろこで、実行したのですが、エラーなどは表示されずに完了するのですが、データはインポートされていませんでした。 レンタルサーバーで、phpMyAdminを利用している場合に、LOAD DATA INFILEでファイルをインポートできないのでしょうか?上記のSQLの書き方に問題があるのでしょうか? 初心者なのであまりうまく説明できませんが、大容量のCSVファイルをphpMyAdminからアップするには、なにかよい方法はありますでしょうか? ご回答よろしくお願い致します。 ●サーバーの環境 ・MySQL利用可能で、phpMyAdminでのみ利用可能 ・データベースは、ユーザーサーバーとは別に設置 ・MySQLのバージョンは、4.0.26 ・phpMyAdminのバージョンは、2.7.0

  • ハードディスククラッシュ後のデーター復旧(ユーザーログ内データー)

    Vaio RX70Kのハードディスクが、クラッシュしました。 データーは、外部サーバーで問題ありませんが、ユーザーログ内の(Admini:パスワード付)データーを復旧したいのです。 通常のですと、ログ内は、見えますがパスワード付ですので開けません・・当然自分のパソコンですのでパスワードも解ってますが、いざハードディスクを取り出し他のパソコンに繋いでも、当たり前ながらユーザー内はパスワード付なので見れないわけです・・何のデーターかと言いますと、outlook.pstのファイルが必要です・・こまめにバックアップ取っていましたが 3週間ほどですが取ってありません。どなたかおしえてください。

専門家に質問してみよう