★つれづれ出張所♪

プログラム開発情報(主にAndroidと組み込み系)を発信していま~す。(*^_^*)

QNAP

QNAPサーバーでGit管理【後編】

前編からの続きです・・・

■TortoiseGitからテストアクセスしてみる
ここからは、どちらかと言うと、TortoiseGitの使い方のような気もするが・・・(^_^;)

①Windows側に適当なフォルダーを作成する。
※ここに先ほどQNAPで作ったtestリポジトリをクローンする事とする。

②先ほど作成した適当なフォルダーで右クリックを押して「Gitクローン(複製)」を選択する。
キャプチャ6

③URLにQNAPに作成したリポジトリのアドレスを設定(例:¥¥QNAP¥git¥test)する。
ディレクトリ欄には、適当なフォルダーが自動で入っているはず。
キャプチャ78

④クローンが完了する。
キャプチャ7
QNAPで生成した test フォルダ内に .git フォルダが作成されているはず。
キャプチャ8

⑤テスト用ファイルを作成してコミットする
適当にテキストファイル(例:file.txt)でも作成する。
このファイルを右クリックしてメニュー「TortoiseGit」から「追加」する。
キャプチャ9
「コミット」ボタンを押す。
キャプチャ10
メッセージ欄に何か書き込むと「コミット」ボタンが押せるようになるのでここで押す。
キャプチャ11
コミットが完了(成功)するので閉じる。
キャプチャ12
これでPC内の .git に file.txt の内容が反映される。

⑥次はQNAPに反映させる。
先ほどと同じように今度はフォルダ内を右クリックして「プッシュ」メニューを選択すると次のダイアログが表示される。
キャプチャ13
これでOKボタンを押すとQNAPに反映(成功)されるので閉じる。
キャプチャ14


⑦最終確認を行う
Windows内に出来上がった test フォルダーを削除する。
再びQNAPからクローンを行うと先ほど作成した(QNAPのgitに送り込んだ) file.txt がダウンロードされる。


これでQNAPにGitの環境が構築できた。(^^)/


でも、まぁ~よくよく考えたら、こんな事やらんでもフォルダの共有だけQNAPで行って、あとはTortoiseGit使えば出来たんじゃね?疑惑がありますが・・・(汗)
 ※自動バックアップをQNAPで構築するんであれば今回のTIPは有用かな!?(;´Д`)

おしまい!


QNAPサーバーでGit管理【前編】

年明けにお安くHDDを購入したので、前に紹介?したQNAP TS-121のHDD交換をしました。
当時安かったWD製の2TBのものから今回はSeagate製3TBへ容量アップです。今回はサーバー用?のIronWolfです。サーバー用途かつ3TBでも安かったので、容量多いのを購入しましたが、今までもそんなに埋まっていなかったのであまり意味がありませんですがね・・・(^_^;)

P_20190112

と言うことで、前回の失敗を受けてさくーっとHDDの移行を済ませ、容量アップついでに開発したプログラムのコード管理ツールもQNAPに導入することにしてみました。今までも旧QNAP(TS-109Pro)でSubversionで行っていましたが、昨今の流行!?であるGitを導入することにしました。てかGitHubがプライベートリポジトリが無料になると発表があったのもありますがね♪

検索すると昔は、QNAP標準でインストール出来たみたいですが、現在は出来ないみたいです。
今は直接Entware-ngのページからqpkgを持って来てQNAPへインストールします。

まず、下記のページから『Entware-ng_0.97.qpkg』をダウンロードします。
https://github.com/Entware/Entware-ng/wiki/Install-on-QNAP-NAS
『Download this package, 』と言う文章中にダウンロードリンクがあります。
なお、なぜかchromeブラウザーでないと正しくダウンロードできませんでした。注意!


■AppCenterから手動でインストールを行います
先ほどダウンロードした .qpkg ファイルを手動でインストールします。
キャプチャ1
しばらく待つと.qpkgのインストールが完了します。


■TeraTermなどのSSHクライアントからQNAPへログインします
コマンド「ll /opt」を入力すると次のようなリンクが張られて.qpkgのインストールが成功しているのが分かります。
キャプチャ2
あとは次の順番で、コマンドを入力していきます。
①フォルダーを移動
 cd /opt/bin
②辞書をアップデートする
 ./opkg update
③念のため取得した辞書を確認
 ./opkg list-installed
※次のように色んなもののバージョンが確認できる。今回インストールするgitのバージョンは、2.15.1-1みたい。
キャプチャ3
④gitをインストールする
 ./opkg install git
⑤インストール直後だとPATHが通ってないので、ここでターミナルを一旦終了(ログオフ)する
⑥再度QNAPへログオンする
⑦gitコマンドが使えるかチェック
 git --help
次のようにコマンドが実行されていればOK
キャプチャ4

■WIndowsに各種ツールをインストール&設定を行う
①msysgitをインストールする
https://gitforwindows.org/

②インストールしたGit Bashを起動して初期設定を行う
・コミット時に登録されるメールと名前を登録する
git config -–global user.email "メールアドレス"
git config -–global user.name “あなたの名前”
・日本語の文字化け対策で設定する
git config -–global core.quotepath false
・改行コードを Git が自動変換することを無効にする
git config -–global core.autocrlf false
・push コマンド時にブランチ名やタグ名を指定しない場合の標準動作を設定
git config -–global push.default upstream

③TortoiseGitをインストールする
自分は主にSubversionを使用しており、その頃からお世話になっているTortoiseに慣れ親しんでいるので同じような操作感のTortoiseGitを使います。
自分のOSのビット数(64or32)に合わせてダウンロードしてインストールします。
https://tortoisegit.org/download/
※一緒に言語パック(日本語)もインストールすると便利


■QNAPにGitの共有フォルダーなどを作成する
以下のような感じで、gitとして共有フォルダーを作成した。
キャプチャ5
※必要に応じて「共有フォルダー権限の編集」でアクセスできるユーザーも指定しておくと良いかと・・・


■SSHでQNAPにログインしてリモートのリポジトリ作成
再度、TeraTermなどからQNAPにログインして次のコマンドを入力する。
cd /share/git/
git init --bare test.git
これで、共有フォルダーに test.git が作成されている。あとはここにWindowsなどからアクセスを行う。

長くなったので後編へ続きます・・・


QNAPサーバーのHDD移行。完結編

前回のつづき・・・

手持ちの外付けUSB HDDケースは、USB2.0なのでコピーするだけでも時間がかかるのが想定されます。
そんなの面倒なので、探すとAmazonでお安いのが見つかりました。
ORICO の3588US3-V1と言うやつです。USB3.0でしかもUASP規格にも対応しています。
早速ポチリ。

DSCN5080
このケースは、ねじを使用しないとありましたが本当でした。すべてはめ込み式です。
DSCN5083
上下に挟み込むためのスポンジは付属していましたが、端子部からすっぽ抜けないかちょっと怖いので、、、
手持ちのスポンジテープを隙間に挟み込みます。

DSCN5092
これで、やっと再スタートが出来そうです。
QNAPの背面にあるUSB3.0端子に先ほど完成した外付けHDDを接続します。
キャプチャ01
システム設定画面から「外部デバイス」→「USBDisk1」を選択。(※これを選択しないと次のメニューが現れません。注意!)
キャプチャ02
上記メニューが有効になるので、そこにあるQ-RAID1を選択。

自動的にマスターHDDとの同期(RAID)が始まります。
なお同期の間もNASは、普通に使えます。
が、時間が非常にかかるので覚悟してくださいw

システムログを見ると、、、
キャプチャ_qstart
11:47 にスタートして、翌日 05:56 に終わりました。
キャプチャqend
完了するまで17時間もかかりますので余裕をもって作業しましょう・・・・(;´Д`)
 ※約700GBでこの時間です。UBS2.0接続やもっと容量が多いととんでもない時間かかりますヨ!


ハイ!終わったので、RADIでクローンされた新しいHDDに付け替えます。

電源ON~~~~!!!!
あれ!?新規HDDとしてしか認識しない?失敗ですか?

またかよぉ~~~~~!(´・ω・`)

これは、おかしい!

ググる。。。
明らかに同じ症状の人を発見!
http://gshoes.myqnapcloud.com/freo/index.php/view/830

もしかして、QNAPのファームが、4.x.x になってから出来なくなった?
自分も昔は出来た記憶があるので、なんとなくコレが濃厚そう・・・。
てか、これってバグじゃね?

ちゅう事で、もう横着せずHDDの移行をすることを決意!
先の人も進めている QNAP に搭載されている FileManager を使ってコピーを行う。
また、NASの設定もバックアップ、リストア出来るのでコピー前に新HDDでリストアを済ませておけばOK!
その後にコピーを開始して楽に出来ましたよ。
新しく購入したORICOのHDDケースの威力もこのコピー方式のほうが発揮された感じ。トータル半日もかからずにコピー出来ました。

あ~、それにしてもこんな罠が潜んでいたとは。。。無駄な数日間を過ごしました。

QNAPさんはよ修正してください!切に願います。


で、ORICOのHDDケース。使い勝手もいいので TOSHIBA の TV REGZA 42Z8に繋いでみました。
変なUSBケースを使うとスリープからの復帰でHDDを見失うことがあるのですが、一週間ほど経っても今のところ問題なさそう。
ちゅう事で、こっちの方がお勧めです。(;´∀`)

以下、ORICOの3588US3-V1細かいところの紹介写真。
DSCN5101
アクセスランプは背面にしか無いですが、赤と青のLEDが点きます。(赤は紫っぽく見えます!)
右のぽっちは、電源ボタン。


DSCN5111
ACアダプタにも緑色のLEDが点きます。


 

QNAPサーバーのHDD移行。失敗編

宅内サーバーとして、QNAP(1ベイのTS-121)のNASを使っています。
なんか最近、NASから変な音がするなぁ~と思っていたら案の定QNAP-NASから警告が発生しました。(>_<)

C5r2ZwgUsAA273t
HDDのSMART情報を調べると Current_Pending_Sector が書き変わっておりそれで警告が出た模様です。
放置しておいてもしばらくは、問題ない?警告だと思いますが、壊れた後よりも早めにHDD移行をした方が楽ですので早速行動を開始します。

ちなみに警告の出たHDDは、WDの俗に言われるGREEN(2.0TB)と言うやつです。
いまいち購入時期は、覚えていませんが刻印を見ると2010年なので6~7年ほど前に買ったはずです。
24時間電源入れっぱなしで5年以上も使えたので、十分許容範囲です。HDDは消耗品ですしね。

新しく購入したのは、同じWD製のBLUEと言われるものです。
IMG_20170304_174705
回転数も5400rpmと遅めですが、低消費電力なのもありコレ一択です。
なお、同じWDからREDと言われるNAS向けのHDDも売られていますが、HDDなど所詮消耗品ですので値の張るREDは購入しません。安く購入するぶん、どんどん交換する主義です。(それでも結構持つけどね)
あと容量も同じ2.0TBをチョイスしました。現時点で使用容量も700GB弱なので自分には十分すぎる容量なんです。(^_^;)


では、ここからはQNAPのHDD移行について考えてみます。
案としては、、、
 ①別機器を使ってHDDをまるごとクローンする
 ②QNAP NASのRAID機能を使ってクローンする
  ※これには、USBの外付けHDDケース等が必要
 ③PCから地道にファイル単位でコピーする

さすがに③は、バカらしいので①を試みます。
あと②は、手持ちのUSBのHDDケースが他に使っているのでやるとしても後回しにします。
また、USBの外付けケース等を使ってコピーすると時間がかかると言うのもあります・・・w


DSCN4965
と言う事で①の手段。HDDをまるごとコピー(クローン)する事にしてみます。
デスクトップPCのSATAポートを使って直接コピーを試みます。

まずは、WDのHDDに付属する(ダウンロードする)専用のクローンツールを使ってみます。
旧:GREEN → 新:BLUE へまるまるクローンします。


最大転送速度のSATAでもそれなりに時間がかかります。
 ※コピー中の写真を失念・・・orz


待つこと4~5時間・・・クローンが完成したので、QNAPに取り付けてみます。
電源ON~~~~!!!!
あれ!?新規HDDとしてしか認識しない?失敗ですか?

仕方がないので、別のクローンツールを使います。
今まで散々使ってきた EaseUS Todo Backup で、セクタバイセクタ方式でクローン開始します。

こちらは、待つこと半日以上・・・w
やっとクローンが完成したので、QNAPに取り付けてみます。
電源ON~~~~!!!!
あれ!?またまた新規HDDとしてしか認識しない?失敗ですか?

ムムム・・・(;´Д`)
もしかしてQNAPは、HDDをクローンしたのでは認識しないかのか?

つう事で、外付けHDDケースを使ってRAIDを組むことに作戦を変更します。

つづく・・・



  

QNAPサーバーにSVNを導入して悩みまするw

ご無沙汰の更新です。いつの間にか2016年になっていましたw
ブログネタは結構あったのですが、気力が無いと言いますか・・・ご想像にお任せします(^^;)
で、最近あったネタを・・・

自分開発時のプログラムソースをSVNサーバーに保存しています。
そしてこのサーバーですが、FAN無し静穏のロースペックPC(初代Atom機w)にLinuxをインストールして運用していたのですが、このロースペックPCの電源が入ったり入らなくなったりと調子が悪くなってしまいました(汗。

それではと思い、新しいPCを調達しようと思ったのですが、なかなか手ごろなブツが見つかりませんでした。

そこでふと思ったのが、QNAPサーバーです。
DSCN2022

ここ8年(以上?)ファイル置き場など用にQNAPと言うメーカのNASを使っているのですが、初代(TS-109Pro)を現役引退させて、新しくTS-121を導入していました。
※現役引退とは書いていますが、TS-109PはメインTS-121のバックアップ用に今でも使っています
※それにしても当時はQNAPの代理店が日本に無く台湾から取り寄せたのが懐かしい!

で、、、むか~しQNAPでもSVNサーバーを構築できると聞いていたのを思い出し、この現役引退したTS-109Pを復活させようと思った次第。( `ー´)ノ

そして、先人の知恵を拝借して設定してみました。
http://ftvoid.com/blog/post/57
http://d.hatena.ne.jp/sugarball/20111029/1319896597
http://happyhackingblog.blog.fc2.com/blog-entry-2.html



が、、、、、動作しない。。。。。。



相当悩んで、ようやく動作しましたが、原因は以下の通り。

設定ファイルの行頭にスペース(タブ)文字を挿入していたのが原因


ありえなぁ~~~~い! orz

例として、パスワード設定ファイルの中身。1
※これは正常な記述
2
※赤い部分がダメだった記述(スペース、タブ文字を入れた)

自分がプログラムする時には、設定ファイルの行頭のスペース等はスキップするのが当然だと思い込んでいたので、まさかそんな単純な所でNGを食らうとは思ってもいませんでした・・・思い込みと言うのは恐ろしい。(;´Д`)

みなさん、注意しましょう!

と言う事で、自分への忘備録を兼ねてまとめ。
 1)設定ファイルの行頭にスペース(タブ)文字は入れない
 2)Apatchへの設定はする必要なし ※一部サイトには設定しろと記載あったが必要なかった
 3)リポジトリへのURLは、"svn://192.168.0.128/"な感じで、svn:// となる
以上です。

DSCN3989
※この写真はTVラックにブチ込んであるQNAPの2台。左にAPCのUPSと右にNASNE等もあり。埃が凄い!(^_^;)


あと全然関係ない事ですが、NASを導入する際にやたらと複数ドライブ(RAID)を突っ込みたがるのはどうにかなりませんかね?相談される時も8ベイが良いですか?とかなんとか・・・w
もしもの為のバックアップが主になるかと思う?のですが、元のハードがぶっ壊れればいくらRAID組んでもデータがおじゃんですし。。。
そんな事に予算つかうなら、もう一台NAS本体を購入して、NAS間バックアップ(自動クローン)した方が効率的ですし金額も安くなると思われます。
※4ベイNAS買うなら2ベイNASを2台とかの方が宜しいかと。1ベイ2台でも十分!・・・ついでにUPSも!!!

ちなみに自分はファン無しTS-109Pro(HDDは、WDのGREENタイプ)を2008年に購入してから24時間駆動で問題無く連続始動させています。(東芝テレビREGZAの録画先にも出来ます)

よって、相当な事が無い限り(QNAPは)故障するとは思えません。。。(;´∀`)