ギャバンITサービス
お菓子の家が作れるシステムエンジニアです

パーティション操作

PCサーバを作るとき、CPU/メモリ/ディスクのサイズや規模を決めて購入したり、仮想マシンとして作成する。 CPUとメモリは扱いたいソフトウェアの規模によって決める。 excelやwordだけなら4コア程度、DBサーバなら16GBぐらいを目安に設定。 ディスク作成するとき、バックアップの取り方やリカバリポイントも考慮に入れる。 今はほとんどssdで動かすから、バックアップ先はhddにしてる。 自分はhddにもいったん入れるけど、クラウドのディスクに入れるから暗号化zipして1つのファイルにして月に1回保管してる。 パーティション操作が発生するのは、当初の予定と違うソフトウェアを入れることになったとか、保管データの容量が大きくなりすぎたとか。 そもそもフラグメント発生するwindowsのntfsを使うことも減ったし、ext4/xfsでlinuxのsamba動かしてたらほとんどデータをntfsに置くことがなくなったからパーティション操作することがほとんどなくなった。 ただ、昔やってたPC管理の考え方は以下のとおり。 パーティションを変更するのは何のため サーバを選んだり、PCを用意するとき、用途に応じてディスクのサイズを考える。 スタンドアロンで持ち運び重視のノートPCだったらこんな感じでシステムドライブのこと考えてた。 用途 windows linux solaris(unix) システムパーティション Cドライブ:140GB ルート(/):30GB ルート(/):100GB 長期間使ってwindows updateするとだんだんディスク利用率が上がっていくし、レジストリも汚れていく。 linuxとsolarisは今は置いといて、windows10だけで考えると、OS以外に業務利用のソフトウェア(office365とか)入れて、40GB程度は必要。 windows updateすると、半期に1回のOS更新で5GBぐらいは増えてた。 5年使うとして、システムパーティションに必要な量の予測は、 初期容量40GB + ((半期windows update 5GB x 2) x 5年) ≒ 90GB 途中でアプリ増やしたくなることもあるので、1.5倍で考えると135GBぐらいあればいいことになる。 5年経過しても利用率70%程度におさえることを目指すと、 135GB / 0.7 ≒ 192GB そういうわけで、windowsでは200GBあればシステムパーティションは足りるはず。 予測が不安な時は1.5倍じゃなく2倍とかそれ以上で掛け算しておけばいい。 さらにMyDocumentにデータを保存する癖があるなら、その保管量を上乗せすればいい。 この予測が外れたり、利用用途変更があったときにパーティションを変更したくなる。 windowsでパーティションを変更しなくてすむ方法 たとえばexcelやpower pointで資料作るために使ってたPCを、画像処理やsteamみたいなゲーム利用に用途変更したら、ディスクの使われ方が変わってくる。 画像処理はテンポラリファイルも書き出しがあるし、ゲームは数十GB単位で本体の容量を食う。 音楽や動画、画像なんかはすぐにMyDocumentのフォルダあたりがパンパンになるから、ドライブ接続した場所に保管する癖をつければいい。 長期間使ってwindows updateしていったり、ソフトウェアをインストール・アンインストールするとレジストリは汚れていくし、不要なフォルダがたくさんできる。 やっかいなのはAppdataあたりに残る残骸。 いつ何のために作られたフォルダなのかすごくわかりにくいから、手動削除やりにくいフォルダやデータがけっこう入ってる。 windows updateでソフトウェアが動くなるのが怖い場合は仕方ないけど、windows updateをアンインストールしないでおくとディスク消費が大きい。インストールのときのログも含めて、以前のwindows状態に戻す必要が少ないなら、バックワードするためのデータは削除したほうがいい。 これでも対処できないときのために、自分の仮想マシンは2世代のバックアップを取ってる。1つはメジャーアップデートの直後のバックアップ。もう1つは毎月のバックアップ。ほぼこれで問題は出ない。 Cドライブを右クリックしてプロパティを開き、全般タブからディスクのクリーンアップを選んで、システムファイルのクリーンアップをやると、削除の目安が出てくる。 システムファイルのクリーンアップに加えて、月に1回ぐらいはglary utilitiesみたいなクリーナーを使うと肥大したドライブをある程度はダイエットしてくれるしレジストリもきれいにしてくれる。 ディスク操作の今まで hdd使い始めの頃でフロッピーディスクがまだ現役のとき、プログラムを書いてビルドするときにhdd使うとメチャ速くて感動した。 たしかscsiの外付けディスクのサイズは40MBぐらいだったと思う。 今手元で使うファイルサーバは6TB。 容量は格段に大きくなった。 ディスクの管理領域の取り扱いビット数の都合だったと思うけど、それから何年かおきに、 容量の壁 に出会う。 ...

MiniTool Partition Wizardの利用

久しぶりにwindows10でパーティションサイズ変更したくなった。 普段使いのPCとしては仮想マシンしか扱わないので、vmware上のwindowsで利用。 深く考えず、使えるものを探してみると、カナダの会社の製品を発見。 他にもドイツ製、中国製の製品あるけど、サーバ構築や運用変更のために使ったことが既にあったので、気軽にPCで使えそうな初見のソフトウェアを探してみた。 MiniTool Partition Wizard がそれ。 前提 実際にやるのはテスト用のVMを準備。OSだけインストールした状態のひな形になる仮想マシンを利用。 物理マシンのリソースにあわせてCPUとメモリとディスクを割り当てて作成する。 ひな形にしてるvmイメージをzipから解凍して展開 メモリ8GB、CPU4コア、Cドライブはもともとgptで100GBのを作ってるので、Dドライブはmbrで500GB追加作成しておく。 基本的なソフトウェアのインストール 普段使いに近づけるので、ブラウザ(firefox)とアンチウィルス(kaspersky)も入れておき、バージョンや定義も更新してたら、裏で勝手にwindows updateが動いて最新になってくれる。 OS再起動は4回ぐらい実施。windowsは最新になった。ここまで40分ぐらい。 データドライブ作成 Dドライブを普通のNTFSドライブとして、500GBでパーティション作っておく。 ディスク性能 システムドライブ(cドライブ)とデータドライブ(dドライブ)のディスク性能は以下のとおり。 何回かやってみたけど、同じ物理ディスクにvmdk作ってるのに性能差が出るのが意味わからん。 Partition Wizardをインストール 1分以内で終わる。軽い。 Partition Wizardを起動 ディスク操作は管理権限必要だから、アカウント制御の確認画面表示された後に起動できる。 ディスクサイズを変える(システムドライブ) 広げたり縮めたり Cドライブを広げたり縮めたり移動させたりが、矢印アイコンとドラッグでできる。めっちゃ軽快。 もちろん自分で数字を入力して細かく設定もできる。濃い青の箇所は使ってるディスク領域で、これより小さく縮めることはできない。 反映 もちろんその場で即反映ではなく、画面左下の適用ボタンを押すと初めて構成変更される。取り消したら操作は無効になってくれる。 OS再起動 Cドライブはシステムドライブだから、サイズ変更を適用するにはOS再起動が必要。 サイズ変更の適用処理 OS再起動すると、続きの処理が実行されて適用した内容を反映してくれる。 パーティション移動と縮小には終わるのに4分35秒かかって、もう1回OS再起動があった。元のサイズと位置に戻すには2分5秒。 ssd使ってるのもあるけど、けっこう速いかも。 サイズ変更の適用完了 OS再起動終わると確かにパーティション移動とサイズ変更できてる。 あれ? gpt扱えないってあった気がしたけど、2TBになってないgptだったら普通に操作できるみたい。 ディスクサイズを変える(データトライブ) データの入った状態を用意 大粒で数が少ないファイルと、小粒で数が多いファイルを用意してみる。 OSインストールで使うisoイメージと、gitに登録しているファイルをデータとして入れておき、そのあとでサイズ変更。 winフォルダにはisoイメージで4GB程度の大き目ファイルが何個か入ってる。 memosフォルダには、ローカルgitからクローンしたブランチが入っていて、数KB程度の小さめのファイルがたくさん入ってる。 500GBのうち、20GB程度のデータをコピーして設置するのに約10分。 広げたり縮めたり 500GBのパーティションの中で移動してサイズ変更もしてみる。 反映 適用して反映してみるため「はい」を押す。必要時間はおよそ2分。 ...

 ⭐️

DOSバッチ処理 - サンプル

MS-DOSはつきあい長い。 それでもバッチファイルは慣れないのでサンプル置いとく。 コマンドラインでテストしたら、タスクスケジューラで動かすこともあるはず。 バッチ処理内では常にフルパスで書いて扱うことを意識すること。 ただし、あまり深い階層になるとファイル名の長さ制限にひっかかるので注意。 分岐のサンプル(簡単な比較判定) 1 2 3 4 5 6 7 8 9 10 11 12 13 echo off set val=boo if %val%==boo echo 変数はboo if not %val% == poo ( echo 変数はboo ) else ( echo 変数はpoo ) pause 動かすとこうなる。 ...

DOSバッチ処理 - バックアップ処理

毎日定期的に動く処理はDOSバッチで動かす。 バックアップ処理の道具 ツール 内容 参考URL fastcopy 同期・差分コピーをGUI・コマンドラインで行う。 https://fastcopy.jp/ 作者さんありがとう。 バックアップのサンプル 毎朝バックアップ領域(Y:\98_backup\Y_backup)へ同期コピーする処理。 ドライブ接続ができてれば動く。 ショートカットやらメモやら、普段使うデータは「ワイのドライブ」なのでY:をドライブレターにして利用。 バックアップ領域はsambaで動くlinuxのフォルダ。GV_EXCLUDEには、バックアップ除外対象を書いてある。 macでsmb接続すると「.DS_Store」って隠しファイルがいっぱいできるので除外。 最後のほうでバックアップ領域はttlマクロを使って暗号化zip作成し、explorerで圧縮したファイルの置き場(S:\nariHTTP\configBackup\11_win7proSVM2)を開く。 昔はexplzhの 定型圧縮 をやってたけど、どうしてもlinuxのroot権限使って取りたいバックアップがあったのと、zipに100文字以上の暗号化文字列使いたかったのでやめた。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 rem ----------------------------------------------------------------------------- rem Yドライブのバックアップ処理実施 rem rem ----------------------------------------------------------------------------- rem -----------環境作成のためのディレクトリパス SET FASTCOPY="Y:\99_tools\FastCopy\fastcopy.exe" SET FSCP_LOG="Y:\95_log\GVISwindows-fastcopy.log" set TTPMAC="C:\Program Files (x86)\teraterm\ttpmacro.exe" set GCP_macro=Y:\94_connect\connect\GCP set LCL_macro=Y:\94_connect\connect\VM set LCL_maint=Y:\94_connect\netuse\LetS-netuse-118_naFSLinux.bat SET From11="Y:\91_shortcut" SET From12="Y:\92_dockerwk" SET From13="Y:\93_netuse" SET From14="Y:\94_connect" SET From15="Y:\95_log" SET From16="Y:\96_maint_tools" SET From17="Y:\97_mailwork" SET From18="Y:\99_tools" SET From19="Y:\etc" SET From1A="Y:\GavannIT-ID.xlsx" SET From1B="Y:\memo.txt" SET From21="C:\Users\nari\Desktop" SET From22="C:\nari" SET BackupTo1="Y:\98_backup\Y_backup\" SET GV_EXCLUDE="System Volume Information\ ; $RECYCLE.BIN\ ; .DS_Store;._* ; lost+found\ ; nariDockerVol\" rem start /wait %LCL_maint% if not exist %BackupTo1% ( exit ) if not exist Y:\ ( exit ) rem pause del /F /Q %FSCP_LOG% rem ------Y data %FASTCOPY% /cmd=sync /estimate /verify /force_start /force_close /log /logfile=%FSCP_LOG% /bufsize=64 /exclude=%GV_EXCLUDE% %From11% /to=%BackupTo1% %FASTCOPY% /cmd=sync /estimate /verify /force_start /force_close /log /logfile=%FSCP_LOG% /bufsize=64 /exclude=%GV_EXCLUDE% %From12% /to=%BackupTo1% %FASTCOPY% /cmd=sync /estimate /verify /force_start /force_close /log /logfile=%FSCP_LOG% /bufsize=64 /exclude=%GV_EXCLUDE% %From13% /to=%BackupTo1% %FASTCOPY% /cmd=sync /estimate /verify /force_start /force_close /log /logfile=%FSCP_LOG% /bufsize=64 /exclude=%GV_EXCLUDE% %From14% /to=%BackupTo1% %FASTCOPY% /cmd=sync /estimate /verify /force_start /force_close /log /logfile=%FSCP_LOG% /bufsize=64 /exclude=%GV_EXCLUDE% %From15% /to=%BackupTo1% %FASTCOPY% /cmd=sync /estimate /verify /force_start /force_close /log /logfile=%FSCP_LOG% /bufsize=64 /exclude=%GV_EXCLUDE% %From16% /to=%BackupTo1% %FASTCOPY% /cmd=sync /estimate /verify /force_start /force_close /log /logfile=%FSCP_LOG% /bufsize=64 /exclude=%GV_EXCLUDE% %From17% /to=%BackupTo1% %FASTCOPY% /cmd=sync /estimate /verify /force_start /force_close /log /logfile=%FSCP_LOG% /bufsize=64 /exclude=%GV_EXCLUDE% %From18% /to=%BackupTo1% %FASTCOPY% /cmd=sync /estimate /verify /force_start /force_close /log /logfile=%FSCP_LOG% /bufsize=64 /exclude=%GV_EXCLUDE% %From19% /to=%BackupTo1% %FASTCOPY% /cmd=sync /estimate /verify /force_start /force_close /log /logfile=%FSCP_LOG% /bufsize=64 /exclude=%GV_EXCLUDE% %From1A% /to=%BackupTo1% %FASTCOPY% /cmd=sync /estimate /verify /force_start /force_close /log /logfile=%FSCP_LOG% /bufsize=64 /exclude=%GV_EXCLUDE% %From1B% /to=%BackupTo1% %FASTCOPY% /cmd=sync /estimate /verify /force_start /force_close /log /logfile=%FSCP_LOG% /bufsize=64 /exclude=%GV_EXCLUDE% %From21% /to=%BackupTo1% %FASTCOPY% /cmd=sync /estimate /verify /force_start /force_close /log /logfile=%FSCP_LOG% /bufsize=64 /exclude=%GV_EXCLUDE% %From22% /to=%BackupTo1% rem -----------Make zip -------------------------- %TTPMAC% %LCL_macro%\_118_naFSLinux-SSH-MakeTar_Y.ttl explorer S:\nariHTTP\configBackup\11_win7proSVM2 rem pause exit

リモートデスクトップ

手元で電源入れたwindowsパソコンからリモートデスクトップ機能を使う。 以前はvncを使うこともあった。 おかげで社内SEやってるときに、出張の手間を大幅に削減できたこともあった。 vnc使ってた理由は、 homeエディションのwindowsへはRDP使えないから(homeエディションは身の回りから排除したのでもうない) 複数のクライアントPCから画面共有して閲覧したいから(2007年頃) linuxのXwindowにつなぎたいから(xrdpをlinuxが実装してくれているのでもうvnc要らない) vnc使わなくなった理由は、 普通のvncでは音再生ができない(致命的) vncviewer.exeがkasperskyの脆弱性判断にひっかかる(これも致命的) rdpでファイル転送ができる(遅いけど) vnc接続したGUIがカクカク動く(気持ち悪い) rdpでファイルコピーができるようになった windows2003が終わった頃にrdpのバージョンが上がって、ファイル転送ができるようになったのは大きかった。 同じ頃にcentosへrdpできるようにもなって、もちろんファイル転送もできるようになった。 microsoftの機能は不満に思うことが多いけど、この機能は拍手したい。 不安定になることもあるけど、ローカルのUSBデバイスをリモートデスクトップ先に接続してしまうこともできるようになった。 例えばマイク付きのwebカメラをrdp接続先のwindowsに接続するっていうときに便利。 linuxでもつながるのかはやったことない・・・。 ファイル操作の実際 redhatがibmに買い取られたからか、centosが8になったときにxrdp起動が不安定になって、yumするとパッケージの衝突起こすようになって「なんやねん面倒くさいわー」ってなった。 dockerも標準では動かなくなったのでubuntuに乗り換えて、linuxへのrdp接続を維持してる。 例えば、日常の業務ファイル(excelとかpdfとか)をローカルwindowsで編集してlinuxのsmbファイルサーバに置くけど、昔ならftpで上げることもあった。 smbがあるから何気にGUIでコピーすればいいし、rdpしてたらそのままctrl+c/ctrl+vで済む。さらにクラウドにssh経由やvpn経由で接続してrdp接続しても、同じ操作でファイルを上げることができる。 xrdpで改善できたらなと思うのは、windowsからlinuxにrdp接続したとき、ファイルコピーで2つできないことがある(どこか設定いじったらなおるのかも)。 フォルダのコピーができない 複数ファイルのコピーをしようとすると1つ目しかコピーされない ちょっとひと手間入るけど、gitbashを使っているので、例えばfooってフォルダを作っておき、 tar czf foo.tar.gz foo/ とやっておいてfoo.tar.gzをrdpでコピーして接続先で展開する(面倒といえば面倒)。 昔にexplzhとかアーカイバで圧縮してlinux側で展開したら文字化けしたことがあったけど、gitbashでのtar.gzではそういうのはない。 windowsのrdp接続コマンドラインのヘルプ %windir%\system32\mstsc.exe /? 指定できる内容がいろいろある。使うのは/f, /h, /wぐらい。 起動したときの実際の表示 シンプル版。単にIPアドレスとポート番号入力したらつながる。 dockerコンテナでポート番号13389でxrdp動かしてるなら、例えば"192.168.1.1:13389"とコロンでポート指定するとつながる。 オプション表示したとき。設定を作っておき、xxx.rdpっていう名前で保存しとくと便利。 rdp設定をファイルで保存した時 普通のテキストファイルが保存されているので、エディタで書き換えもできそう。やったことないけど。接続するときの画面サイズを1080じゃなくて1000にしたりできるのかもしれない。 複数のディスプレイあるときに、全部使えの指示 日常的に「リモートセッションですべてのモニターを使用する」にチェックを入れて使ってる。 「全画面表示」を指定してるけど、スライダー動かせばサイズも指定可能。 例えば、デスクトップにあるファイルをrdp接続したubuntuにファイルコピーしたい場合、ローカルのデスクトップ画面を少しだけ見えるようにしておいてコピーするときには1280 x 720ぐらいのサイズにしておく。 コマンドラインでサイズ指定するならこんな感じ。 %windir%\system32\mstsc.exe /v:192.168.1.1:13389 /w:1280 /h:720 rdp接続されるwindows側のファイアウォール設定(kasperskyの場合) セットアップしたてのマシンならファイアウォールで塞がれていることがほとんど。 アンチウィルスソフトのファイアウォール機能で塞がれてることもある。 自分の場合はこのへんからたどってポートの解放した。windowsファイアウォールの設定もあるけど、kaspersky入れたらwindowsファイアウォールを強制的に止めてしまう。 rdp接続されるwindows側のそもそもの設定 ここをオンにしとかないと、そもそもつながらない。 スリープしてたらつながらないから、接続される側は省電力モードとかにせずフルパワーで稼働するようにもしとく。 rdp接続されるubuntu側の設定 aptでxrdpを導入しておき、サービス起動しておく。ポートとか変更しないなら、ほぼそのままで動く。centos7ならyumで同じようなことやって使えてたけど、centos8になったらイマイチ動いてくれなくなった。redhatがibmに買い取られた頃からおかしくなってってるんじゃないか。 sudo apt install xrdp サービス起動結果はこんな感じ。 ...