Windowsでダミーファイルを扱う

ダミーファイルの作成

> fsutil file createnew testfile 1073741824
  • fsutilの実行には、コマンドプロンプトを管理者権限で起動する必要がある。※PowerShellも同様。
  • testfile 作成するダミーファイルの名前
  • ファイルサイズの単位はバイト。1073741824 バイト = 1GB

ダミーファイルを大量に作成

> for /L %%i in (1,1,10000) do fsutil file createnew testfile_%%i.dat 1073741824

ダミーファイルを作って、ファイルをコピーする。また、タイムスタンプの追加、ログの出力を行うバッチ

[test.bat]

setlocal enabledelayedexpansion
echo "開始時間: !time!" >> test.log
for /L %%i in (1,1,10000) do echo !time! >> test.log & fsutil file createnew testfile_%%i.dat 1024 >> test.log & copy testfile_%%i.dat .\targetDir >> test.log
echo "終了時間: !time!" >> test.log
endlocal
  • 複数のコマンドは、「&」でつなぐ。
  • タイムスタンプの出力のために、遅延環境変数を使う。

実行

> .\test.bat > nul

Alexaがインターネットに接続できません

1か月ほど順調に動いていたAmazon Echo(以降、Alexa)ですが、今日突然つながらず・・・

「インターネットに接続できません。Alexaアプリで、ヘルプを確認してください」

と言われた。 Wi-Fiがちょっと不調だったので、その影響だろうと思いますが、以下で解決。

  1. ルーターを再起動

    http://192.168.1.1 で接続して再起動(アドレスはルーターごとに異なる)

  2. Alexaを再起動

    電源ケーブルを抜いて、3分後挿しなおす(すぐにでもいいと思いますが、なんとなく・・)

以上

※Alexa再起動だけではダメでした。ルーター側の問題だったようなので。

IlleagalException: failed to obtain node locks,

elasticsearch.bat 実行時エラー

学習用に elasticsearchプロセスの2つ目を実行した際に、以下のエラーが出た。

> elasticsearch.bat
...
「IlleagalException: failed to obtain node locks, tried 
[[C:\temp\elasticsearch-6.2.3\data\elasticsearch]] with lock id [0]; 
maybe these locations are not writable or multiple nodes were started 
without increasing [node.max_local_storage_nodes] (was [1])?」
...

対処

node.max_local_storage_nodesについて

エラーメッセージにある「node.max_local_storage_nodes」を調べてみる。 www.elastic.co

node.max_local_storage_nodes の説明

data pathは、複数のノードで共有される、異なるクラスタのノードでもね。 これは、開発マシンでのフェールオーバーや異なる設定をテストするのにとても役立つ。 しかし、商用では、サーバごとにElasticsearchノードを1つにすることを推奨する。

デフォルトでは、Elasticsearchは、同じdata pathを共有することからノードが1つ以上になることを避けるように設定されている。 1つ以上のノードを許容するには、node.max_local_storage_nodesの設定を1より大きい自然数(a positive integer)にする。

パラメータを設定して起動

> elasticsearch.bat -Enode.max_local_storage_nodes=2
...

起動できました

手元のGit環境をメモ

自分のノートPCのGit環境をメモっとく。

Git for windowsのインストール

ダウンロード

opcdiary.net 参考:石坂さんという方が書かれた最高に詳しい記事です。

Select Component ⇒デフォルト

f:id:belial6:20180325161539p:plain:h300

エディタ選択 ⇒デフォルト

f:id:belial6:20180325161536p:plain:h300

PATH設定 ⇒gitをパスに追加して、コマンドプロンプトから使えるようにしとく

f:id:belial6:20180325161533p:plain:h300

⇒デフォルト

f:id:belial6:20180325161530p:plain:h300

改行コード ⇒何もしない設定

f:id:belial6:20180325161527p:plain:h300

ターミナル ⇒デフォルト

f:id:belial6:20180325161709p:plain:h300

オプション ⇒シンボリックリンクも追加しとく

f:id:belial6:20180325161705p:plain:h300

TortoiseGitのインストール

ダウンロード

SSHクライアント ⇒デフォルトのPuTTyベース

f:id:belial6:20180325171516p:plain:h300

コンポーネント ⇒デフォルト

f:id:belial6:20180325171513p:plain:h300

日本語パックのインストール

⇒最後に、「この言語を使ってセットアップ」にチェックをつける

f:id:belial6:20180325171510p:plain:h300

Gitの環境設定

  • メールアドレスは自分のプライベートをさらしたくないので、ダミーを使う

    ダミーアドレスは、Githubにログイン後、Settings→Emailで、「Keep my email address private」をチェックして、そこに表示されているアドレスのこと。

コマンドプロンプトで、コミットに使う名前、メアドを設定する

> git config --global user.name "名前"   //githubのアカウント名にしとく
> git config --global user.email "xxxxxxxx+名前@users.noreploy.github.com"
> git config --global core.quotepath false   //日本語ファイルの文字化け対応

VirtualBoxで仮想マシン(Linux)作成後にすぐに外部に接続する方法

VirtualBox仮想マシン作成後にすぐに外部に接続する方法

#久々に触るとすぐに忘れてしまうので。

環境は、CentOS7、家

1) NICの設定を開く

# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

2) ONBOOTの設定

ONBOOT=yes

3) ネットワークを再起動

# systemctl restart network

これですぐにyumできます。

以上

CentOS7の自動ディスクパーティションで作られたLVMを縮小/拡張する

CentOS7のインストール時に、ディスクの構成でデフォルトの「自動ディスクパーティション」を選択すると、パーティションサイズが「/」が50GBで、「/home」が150GBといった状態になってしまう。

この状態を解消するために、「/home」を縮小し、「/」を拡張する手順をメモする。

 

以下のサイトを参考にさせていただきました。こちらを読めば大丈夫です^^
qiita.com

確認した環境

仮想化ソフト: VirtualBox 5.1.28
ゲストOS: CentOS 7.4
仮想ディスクサイズ: 80GB

手順

以下、手順を記述するが、コマンドの出力結果は省略している場合があります。

ディスクの状態を確認

//ディスクドライブの使用状況を確認する
# df -Th
/Filesystem               Type   Size   Mounted on
/dev/mapper/centos-root   xfs     50G   /
/dev/sda1                 xfs   1014M   /boot
/dev/mapper/centos-home   xfs     27G   /home

//論理ボリュームを確認する
# lvdisplay
...
LV Path     /dev/centos/home
LV Name     home
VG Name     centos
LV Status   available
LV Size     26.99GiB

...
LV Path     /dev/centos/root
LV Name     root
VG Name     centos
LV Status   available
LV Size     50.00GiB

//ボリュームグループを確認する
# vgdisplay
VG Name        centos
VG Size        <79.00GiB
PE Size        4.00MiB
Total PE       20223
Alloc PE/Size  20222 / 78.99 GiB ※80GBは割り当て済み
Free  PE/Size  1 / 4.00 MiB
...

LVMディスクの開放

//アンマウント
# umount /dev/mapper/centos-home

//ボリュームの利用を停止する
# lvchange -a n /dev/centos/home

//論理ボリュームを確認する
# lvdisplay
...
LV Path     /dev/centos/home
LV Name     home
VG Name     centos
LV Status   NOT available ※利用不可となった
LV Size     26.99GiB

//論理ボリュームを削除する
# lvremove /dev/centos/home
  Logical volume "home" successfully removed

//ボリュームグループを確認する
# vgdisplay
VG Name        centos
VG Size        <79.00GiB
PE Size        4.00MiB
Total PE       20223
Alloc PE/Size  13312 / 52.00 GiB ※割り当て済みは80GB→52GBに減少
Free  PE/Size  6911 / 27.08 GiB ※空き領域ができた
...

論理ボリューム「home」を作成

削除した論理ボリューム「/home」をサイズ指定で再作成する。

//論理ボリュームを作成
# lvcreate -L 10G -n home centos
WARNING: xfs signature detected on /dev/centos/home at offset 0. Wipe it? [y/n]:
y ※とりあえず「y」を入力
   Wiping xfs signature on /dev/centos/home.
   Logical volume "home" created.

//ファイルシステムを作成
# mkfs.xfs /dev/centos/home
...

//マウントする
# mount /dev/centos/home

//ボリュームグループを確認する
# vgdisplay
VG Name        centos
VG Size        <79.00GiB
PE Size        4.00MiB
Total PE       20223
Alloc PE/Size  15872 / 62.00 GiB ※/homeに10G割り当てた分増加
Free  PE/Size  4351 / 17.08 GiB ※残った17GBをこのあと「/」に割り当てる
...

空き領域を割り当てる

/dev/centos/rootに残りの空き領域を割り当てる

//空き領域を割り当てる
# lvextend -l +100%FREE /dev/centos/root
  Size of logical volume centos/root changed from 50.00 GiB (12800 extends) to <67.00 GiB (17151 extents).
  Logical volume centos/root successfully resized.

//XFSファイルシステムの拡大(これをしないとサイズは増えない)
# xfs_growfs /dev/mapper/centos-root
...

//ディスクドライブの使用状況を確認する
# df -Th
/Filesystem               Type   Size   Mounted on
/dev/mapper/centos-root   xfs     67G   /   ※「/」は50G→67Gに拡張された
/dev/sda1                 xfs   1014M   /boot
/dev/mapper/centos-home   xfs     10G   /home ※「/home」は27G→10Gに縮小された


以上

容量固定の仮想マシンを作成する

Hyper-V Server 2012R2上で、容量固定の仮想マシンを作成する手順をメモしておく。

Step1. 空の仮想マシンを作成

  1. Hyper-Vマネージャー上で、「新規」→「仮想マシン」を選択する。
  2. 「名前と場所の指定」画面で、仮想マシン名と、仮想マシン構成ファイルの格納先を指定する。
  3. 「世代の指定」画面で、仮想マシンの世代を選択する。
    ・第1世代: 従来のバージョンと同じ
    ・第2世代: 仮想ハードウェア構成が見直された新しい仮想マシン。使用可能なゲストに制限あり。
  4. 「メモリの割り当て」画面で、仮想マシンに割り当てるメモリ量を設定する。
  5. 「ネットワークの構成」画面で、仮想スイッチを選択する。
  6. 「仮想ハードディスクの接続」画面で、”後で仮想ハードディスクを接続する”を選択する。
  7. 最後に、完了を選択して、終了する。

 

Step2. 仮想ハードディスクの格納先ディレクトリを作成

  1. 空の仮想ハードディスクを作成する前に、格納先のディレクトリを作成する。
    仮想マシン名\Virtual Hard Disks

Step1で仮想ディスクを作っていないので、仮想マシンディレクトリ内にはVirtual Hard Disksは存在しません。

 

Step3. 容量固定の仮想ハードディスクの作成

  1. Hyper-Vマネージャ上で、「新規」→「ハードウェア」を選択する。
  2. 「ディスクフォーマットの選択」画面で、仮想ハードディスクのフォーマット形式を選択する。
    VHD  #従来の形式で、2040GB以下の仮想ハードディスクが作れる。第2世代仮想マシンでは使えない。
    ・VHDX #最大64TBの仮想ハードディスクが作れる。WS2012よりサポートなので、それ以前では使えない。
  3. 「ディスクの種類の選択」画面で、”容量固定”を選択する。
  4. 「名前と場所の指定」画面で、仮想ハードディスクの名前と場所を指定する。
    ・場所には、Step2 で作成した「仮想マシン名\Virtual Hard Disks」を選ぶ。
  5. 「ディスクの構成」画面で、「新しい空の仮想ハードディスクを作成する」を選択し、最大サイズを指定する。
  6. 最後に「完了」をクリックする。

 

Step4. 仮想マシンに仮想ハードディスクを接続

  1. 仮想マシンの設定を開き、IDEコントローラを追加する。
  2. IDEコントローラの参照先に、Step3で作成した仮想ハードディスクのパスを指定し、容量固定の仮想ハードディスクを接続する。

 

以上