投げ銭

★当サイトへの投げ銭(PayPal)★

LINK


(無償、寄付歓迎) logo
世界中で使われるISO標準オフィスソフト(MSオフィス互換)

★LibreOfficeの導入事例★
詳細について

人気の投稿(1ヶ月間)

Ad

Ad

投げ銭

★当サイトへの投げ銭(PayPal)★

2016年12月31日土曜日

【Linux CentOS 7(1511)】ECCメモリが認識され有効になっているか確認した

CentOS 7(1511)を動作させているマシン(AM3+ 990FXチップセット)に、ECCメモリーを搭載した。

 以前から、ECCに非対応のUnbufferedメモリー32GB(8GB×4)で使用してきた。
マシンの安定動作のために、ECCに対応したメモリーに交換することにした。


○ECCに対応したメモリーには二種類ある。

 マザーボードやCPU(メモリーコントローラーを内蔵)に対応したメモリーモジュールを選択する必要がある。
(非対応のメモリーを使用すると、当然マシンはbeep音エラーで起動しなかった。)

1、Unbufferedメモリーモジュール

 メモリーコントローラーが、メモリーモジュールと直接コミュニケーションする方式

2、Registeredメモリーモジュール

 メモリーコントローラーが、メモリーモジュールと直接に通信せず、各メモリーモジュール付属のメモリーバンクレジスターと通信する方式


 ここでは、このチップセットに合うようにUnbufferedメモリーを使用した。
UEFIの画面で、ECCが有効になっていることも確認した。



○取り付けたECCメモリーは有効になっているか確認した。

ECCメモリーを導入した場合と、非ECCメモリーの場合とで、比較を行った。
次のコマンドで状態を確認することができた。


◇ECCメモリ(ただしunbuffered)を搭載した場合

テストのため、ECC/unbuffered 8GBメモリー(DDR3 1600)を4枚取り付けた結果である。
マザーボードの4つのメモリスロットにそれぞれ差し込んだ。

最初のコマンドの結果で、ECCが有効になっていることがわかった。
メモリーコントローラーMC0〜MC7が2セットあるのが見える。
8GBメモリーは、4096MBが二つに認識されて、それぞれMCに順に割り当てられているようだ。

また、二つ目のコマンドでは、データ幅が64bitに対して全体の幅が72bitになっていることがわかった。(非ECCメモリーの場合の結果では、共に64bitだった。)

# dmesg | grep EDAC
[    3.914493] EDAC MC: Ver: 3.0.0
[    3.920704] AMD64 EDAC driver v3.4.0
[    3.920731] EDAC amd64: DRAM ECC enabled.
[    3.920742] EDAC amd64: F10h detected (node 0).
[    3.920757] EDAC MC: DCT0 chip selects:
[    3.920759] EDAC amd64: MC: 0:  4096MB 1:  4096MB
[    3.920760] EDAC amd64: MC: 2:  4096MB 3:  4096MB
[    3.920761] EDAC amd64: MC: 4:     0MB 5:     0MB
[    3.920762] EDAC amd64: MC: 6:     0MB 7:     0MB
[    3.920763] EDAC MC: DCT1 chip selects:
[    3.920764] EDAC amd64: MC: 0:  4096MB 1:  4096MB
[    3.920765] EDAC amd64: MC: 2:  4096MB 3:  4096MB
[    3.920766] EDAC amd64: MC: 4:     0MB 5:     0MB
[    3.920767] EDAC amd64: MC: 6:     0MB 7:     0MB
[    3.920768] EDAC amd64: using x4 syndromes.
[    3.920769] EDAC amd64: MCT channel count: 2
[    3.920989] EDAC MC0: Giving out device to 'amd64_edac' 'F10h': DEV 0000:00:18.2
[    3.921016] EDAC PCI0: Giving out device to module 'amd64_edac' controller 'EDAC PCI controller': DEV '0000:00:18.2' (POLLED)

# dmidecode --type memory
# dmidecode 2.12-dmifs
SMBIOS 2.7 present.
Handle 0x0026, DMI type 16, 23 bytes
Physical Memory Array

Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 32 GB
Error Information Handle: Not Provided
Number Of Devices: 4
Handle 0x0028, DMI type 17, 34 bytes
Memory Device

Array Handle: 0x0026
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits

Size: 8192 MB
Form Factor: DIMM
Set: None
Locator: DIMM0
Bank Locator: BANK0
Type: DDR3
Type Detail: Synchronous
Speed: 1600 MHz
Manufacturer: Manufacturer0
Serial Number: SerNum0
Asset Tag: AssetTagNum0
Part Number: Array1_PartNumber0
Rank: Unknown
Configured Clock Speed: 800 MHz
Handle 0x002A, DMI type 17, 34 bytes
Memory Device

Array Handle: 0x0026
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits

Size: 8192 MB
Form Factor: DIMM
Set: None
Locator: DIMM1
Bank Locator: BANK1
Type: DDR3
Type Detail: Synchronous
Speed: 1600 MHz
Manufacturer: Manufacturer1
Serial Number: SerNum1
Asset Tag: AssetTagNum1
Part Number: Array1_PartNumber1
Rank: Unknown
Configured Clock Speed: 800 MHz
Handle 0x002C, DMI type 17, 34 bytes
Memory Device

Array Handle: 0x0026
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits

Size: 8192 MB
Form Factor: DIMM
Set: None
Locator: DIMM2
Bank Locator: BANK2
Type: DDR3
Type Detail: Synchronous
Speed: 1600 MHz
Manufacturer: Manufacturer2
Serial Number: SerNum2
Asset Tag: AssetTagNum2
Part Number: Array1_PartNumber2
Rank: Unknown
Configured Clock Speed: 800 MHz
Handle 0x002E, DMI type 17, 34 bytes
Memory Device

Array Handle: 0x0026
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits

Size: 8192 MB
Form Factor: DIMM
Set: None
Locator: DIMM3
Bank Locator: BANK3
Type: DDR3
Type Detail: Synchronous
Speed: 1600 MHz
Manufacturer: Manufacturer3
Serial Number: SerNum3
Asset Tag: AssetTagNum3
Part Number: Array1_PartNumber3
Rank: Unknown
Configured Clock Speed: 800 MHz



◇非ECCメモリ(unbuffered)を搭載した場合

unbuffered 8GB×4(=32GB)メモリの状態である。

# dmesg | grep EDAC
[    3.927275] EDAC MC: Ver: 3.0.0
[    3.931161] AMD64 EDAC driver v3.4.0
[    3.931184] EDAC amd64: DRAM ECC disabled.
[    3.931192] EDAC amd64: ECC disabled in the BIOS or no ECC capability, module will not load.

# dmidecode --type memory
# dmidecode 2.12-dmifs
SMBIOS 2.7 present.
Handle 0x0026, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 32 GB
Error Information Handle: Not Provided
Number Of Devices: 4
Handle 0x0028, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x0026
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 8192 MB
Form Factor: DIMM
Set: None
Locator: DIMM0
Bank Locator: BANK0
Type: DDR3
Type Detail: Synchronous
Speed: 1333 MHz
Manufacturer: Manufacturer0
Serial Number: SerNum0
Asset Tag: AssetTagNum0
Part Number: Array1_PartNumber0
Rank: Unknown
Configured Clock Speed: 667 MHz
Handle 0x002A, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x0026
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 8192 MB
Form Factor: DIMM
Set: None
Locator: DIMM1
Bank Locator: BANK1
Type: DDR3
Type Detail: Synchronous
Speed: 1333 MHz
Manufacturer: Manufacturer1
Serial Number: SerNum1
Asset Tag: AssetTagNum1
Part Number: Array1_PartNumber1
Rank: Unknown
Configured Clock Speed: 667 MHz
Handle 0x002C, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x0026
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 8192 MB
Form Factor: DIMM
Set: None
Locator: DIMM2
Bank Locator: BANK2
Type: DDR3
Type Detail: Synchronous
Speed: 1333 MHz
Manufacturer: Manufacturer2
Serial Number: SerNum2
Asset Tag: AssetTagNum2
Part Number: Array1_PartNumber2
Rank: Unknown
Configured Clock Speed: 667 MHz
Handle 0x002E, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x0026
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 8192 MB
Form Factor: DIMM
Set: None
Locator: DIMM3
Bank Locator: BANK3
Type: DDR3
Type Detail: Synchronous
Speed: 1333 MHz
Manufacturer: Manufacturer3
Serial Number: SerNum3
Asset Tag: AssetTagNum3
Part Number: Array1_PartNumber3
Rank: Unknown
Configured Clock Speed: 667 MHz



<参考>
・How to tell whether RAM ECC is working?
< http://unix.stackexchange.com/questions/139319/how-to-tell-whether-ram-ecc-is-working/139526#139526 > 2016年12月27日

・64-bit Linux doesn't recognize my RAM between 3 and 32 GB
< http://unix.stackexchange.com/questions/34687/64-bit-linux-doesnt-recognize-my-ram-between-3-and-32-gb > 2016年12月27日

・UNBUFFERED VERSUS REGISTERED ECC MEMORY – DIFFERENCE BETWEEN ECC UDIMMS AND RDIMMS
< https://www.servethehome.com/unbuffered-registered-ecc-memory-difference-ecc-udimms-rdimms/ > 2016年12月27日

2016年12月27日火曜日

【Thunderbird 45.5.1】指定した複数メールをファイル形式を指定してエクスポートする方法【Linux CentOS 7(1511)】

Thunderbird(サンダーバード)で受信済みメールを形式を指定してエクスポートする方法について。

使用した環境

・CentOS 7(1511)
・Thunderbird (45.5.1)


■Thunderbirdにエクスポートのためのアドオンを導入した。

Thunderbirdを起動し、右上の「三」という形のアイコンからメニューを開き、「アドオン」項目をクリックした。
開いたウィンドウ左側の項目一覧から、「アドオンを入手」をクリックした。

左上の『検索バー(”アドオンを検索します”)』で、”export”などと入力し検索を行った。
表示された一覧で、「利用可能なアドオン」に分類を切り替え、最下部にある「さらにxx件を表示リンク」をクリックする。
次のアドオンを選択した
ImportExportTools (3.2.4.1)
「+Thunderbirdへ追加」ボタンをクリックした。(「インストール」ボタンは試していない。)

処理が完了すれば、Thunderbirdをいったん終了し、再び起動した。

これで、必要なアドオンを追加できた。



■一時フォルダにエクスポートしたいメールをコピーした。

1、一時フォルダの作成

まず、フォルダを「受信トレイ」下などに作成する。(以下、一時フォルダと呼ぶ)
これは、エクスポートするメールをまとめて一時の保管先とするためのものである。

2、エクスポートするメールを選択

受信トレイから、エクスポートしたいメールをクリックで選択した。
選択されたメールは色が反転する。

○複数のメールを選択する方法
・「ctrl」を押しながらクリックすることで複数のメールを選択可能だった。
・あるメールから別のメールまでの全てのメールを選択するには、起点となるメールをクリックして色を付けてから、範囲の終点となるメールを「shift」を押しながらクリックする。

3、手順2で選択したメールを手順1で作成した一時フォルダにコピー(あるいは移動)する。

ファイルのドラッグ&ドロップのようにして操作できた。
すなわち、選択済みメールを、一時フォルダへ「shift」キーを押しながらコピーした。

(注意)
移動する場合は、「shift」キー操作は不要。その場合、移動元のメールは削除される。



■一時フォルダごと形式を指定してエクスポートした。

さきの手順までで準備した一時フォルダ(エクスポートしたいメールが入っているフォルダ)上で、右クリックしてメニューを表示させた。

メニュー内に、「ImportExportTools >」という項目があるので、クリックした。
さらに「フォルダ内のすべてのメッセージをエクスポート >」をクリックした。
さらに「eml 形式」をクリックした。(その他の形式もいろいろあった。csv、pdfなども)

保存先を選択するためのウインドウが開き、適当なフォルダを指定した。
フォルダ内に、サブフォルダが作成され、eml形式でエクスポートが完了した。


■エクスポートの後でフォルダの内容を確認した。

上記手順で、サブフォルダが生成された。
2016_20161227-1929
このサブフォルダ内には、「メッセージ」フォルダと、index.htmlというファイルが存在していた。

○「メッセージ」フォルダ内には、エクスポートしたメールが「タイトル+.eml」のようなファイル名でヘッダー付で保存されていた。
(emlファイルはダブルクリックでデフォルトのメールソフトが起動して開けた。ヘッダーも表示可能だった。)

○index.htmlは今回エクスポートしたメールの一覧をブラウザで表示可能にするものだった。次の項目が表示された。
エクスポート日時
Subject From To Date Attachment
Subjectには、file:// で、上記「メッセージ」フォルダ内の対応するemlリンク(絶対パス)が作成されていた。



以上では触れていないが、逆にmbox形式などからインポートしたり、様々な方式でエクスポートができるようになっていた。

2016年12月26日月曜日

【Linux CentOS 6.7 64bit】いったんMailDir形式で受信したメールを再び任意のアドレスで送信する方法について(受信済みメールの再送信方法)

更新:2020年5月30日/メール検索方法


ターゲットのメールをMailDir方式で受信している場合、newディレクトリや、curディレクトリなどにメールごとにファイルで存在している。

このメールファイルは、メールソフトによる「未読」「既読」によって、次のように保存された。

未読の場合、newディレクトリに保存
既読の場合、curディレクトリに保存


たとえば、目的のメールが未読状態であれば、newフォルダに保存されている。
newフォルダ内に移動した。

# cd new


そして、次のようにして、ターゲットのメールを検索する。
キーワードは、TEST とする。
また、検索を早くするために対象メールを指定した日付以降のものに絞り込んでいる。

[root@mailserver new]# for i in `find . -type f -newermt "2020-5-25"` ; do if grep "TEST" $i ; then echo $i ; fi ; done
Return-Path: <TEST@example.com>
        (envelope-from TEST@example.com)
        (envelope-from TEST@example.com)
From: <TEST@example.com>
./1xxx65xxx3.Mxxx3xxx0xxx.2xxxc5xxx5xx,S=4xx7,W=4xx7
最後の行に検索されたメールが保存されたファイル名である。


ターゲットメールのファイルを次のように指定して再送できる。
下記に動作について記述している。

# cat ./1xxx65xxx3.Mxxx3xxx0xxx.2xxxc5xxx5xx,S=4xx7,W=4xx7 | formail -k -X From: -X Subject: -X Message-Id: -X Date: -X To: | sendmail -f from@mydomain testto@resending-to-address


上記コマンドは、次の手順で処理を行っている。

1、目的のメールをcatコマンドで読み取って、標準出力からformailコマンドに渡す。
2、formailコマンドによってメールを加工し、必要なヘッダーとボディを取り出す。
3、そうして、sendmailコマンドで再送信先と送信元を指定して送信処理を行う。

formailコマンド(オプション付)では、必要なヘッダーとボディのみ取り出している。

メール本体の、Toヘッダーの内容も書き換えるには次のようにして指定すると良かった。
-I To:testto@re-sending-to-address
また、必要に応じて、CCヘッダーなどもオリジナルメールから取り出すようにすると良い。


もし、メールサブジェクトを変更したい場合は次のようにする。
-X Subject: はそのままにしておくこと。

cat ./1xxx65xxx3.Mxxx3xxx0xxx.2xxxc5xxx5xx,S=4xx7,W=4xx7 | formail -k -X From: -X Subject: -i "Subject: NEW SUBJECT" -X Message-Id: -X Date: -X To: | sendmail -f from@mydomain testto@resending-to-address



<参考>
・Resend mail that’s locally stored in a mbox format on a Linux box to a working email address
< http://giantdorks.org/alain/resend-mail-thats-locally-stored-in-a-mbox-format-on-a-linux-box-to-a-working-email-address/ > 2016年12月26日

・How can i send /var/mail/root again?
< http://serverfault.com/questions/90023/how-can-i-send-var-mail-root-again > 2016年12月26日

・formail
< http://linuxcommand.org/man_pages/formail1.html > 2016年12月26日

・Maildirの仕様について
< http://ijo.cc/it/ja/server/maildir_spec/ > 2017年1月8日

【Linux CentOS 7 (1511)】nkfコマンドを使って文字化けしたメールの内容を解読する方法

文字化けした内容を正しく表示させるための方法

<手順>
文字化けした内容をテキストファイルに貼り付けて保存し、
標準入力でnkfコマンドに渡す。



■まず、nkfコマンドを導入した。

epelリポジトリが必要なので予め利用可能な状態にしておく。
# yum install epel-release


○nkfパッケージについての情報を表示させた。
# yum info nkf
利用可能なパッケージ
名前                : nkf
アーキテクチャー    : x86_64
エポック            : 1
バージョン          : 2.1.3
リリース            : 5.el7
容量                : 135 k
リポジトリー        : epel/x86_64
要約                : A Kanji code conversion filter
URL                 : http://nkf.sourceforge.jp/
ライセンス          : BSD
説明                : Nkf is a Kanji code converter for terminals, hosts, and
                    : networks. Nkf converts input Kanji code to 7-bit JIS,
                    : MS-kanji (shifted-JIS) or EUC.

○インストールを行った。
# yum install nkf
インストール:
  nkf.x86_64 1:2.1.3-5.el7
完了しました!

コマンドのヘルプを参照した。
$ nkf --help
Usage:  nkf -[flags] [--] [in file] .. [out file for -O flag]
 j/s/e/w  Specify output encoding ISO-2022-JP, Shift_JIS, EUC-JP
          UTF options is -w[8[0],{16,32}[{B,L}[0]]]
 J/S/E/W  Specify input encoding ISO-2022-JP, Shift_JIS, EUC-JP
          UTF option is -W[8,[16,32][B,L]]
 m[BQSN0] MIME decode [B:base64,Q:quoted,S:strict,N:nonstrict,0:no decode]
 M[BQ]    MIME encode [B:base64 Q:quoted]
 f/F      Folding: -f60 or -f or -f60-10 (fold margin 10) F preserve nl
 Z[0-4]   Default/0: Convert JISX0208 Alphabet to ASCII
          1: Kankaku to one space  2: to two spaces  3: HTML Entity
          4: JISX0208 Katakana to JISX0201 Katakana
 X,x      Convert Halfwidth Katakana to Fullwidth or preserve it
 O        Output to File (DEFAULT 'nkf.out')
 L[uwm]   Line mode u:LF w:CRLF m:CR (DEFAULT noconversion)
 --ic=<encoding>        Specify the input encoding
 --oc=<encoding>        Specify the output encoding
 --hiragana --katakana  Hiragana/Katakana Conversion
 --katakana-hiragana    Converts each other
 --{cap, url}-input     Convert hex after ':' or '%'
 --numchar-input        Convert Unicode Character Reference
 --fb-{skip, html, xml, perl, java, subchar}
                        Specify unassigned character's replacement
 --in-place[=SUF]       Overwrite original files
 --overwrite[=SUF]      Preserve timestamp of original files
 -g --guess             Guess the input code
 -v --version           Print the version
 --help/-V              Print this help / configuration
Network Kanji Filter Version 2.1.3 (2013-11-22)
Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa).
Copyright (C) 1996-2013, The nkf Project.


■文字化けを正しく表示させた。

1、文字化けしたものをテキストファイルに貼り付けて保存した。

メールのヘッダー情報などから、「クォーティッドプリンタブル」でMIMEエンコードされていることがわかった。
また、文字エンコードは、「UTF-8」であることがわかった。

$ vi encodedmail
=E4=BB=A5=E4=B8=8B=E3=81=AE=E3=81=8A=E5=95=8F=E3=81=
=84=E5=90=88=E3=82=8F=E3=81=9B=E3=82=92=E5=8F=97=E4=BB=98=E8=87=B4=E3=81=
=97=E3=81=BE=E3=81=97=E3=81=9F=E3=80=82

2、上記で保存した内容を標準入力で、オプション付のnkfコマンドに渡した。

下記で使用したnkfコマンドオプション
-m  MIMEをデコードする。(Q クォーティッドプリンタブル)
-W8 入力する「文字エンコード」としてUTF-8を指定する。

これによって、文字化けが解消されて、正しく表示された。

$ cat encodedmail | nkf -mQ -W8

以下のお問い合わせを受付致しました。



<参考サイト>

「メッセージを検索」で特定フォルダのみ本文検索ができない
http://forums.mozillazine.jp/viewtopic.php?f=3&t=15393&start=15

文字化けを出さないメール術 代表的症状の原因と予防法
http://internet.watch.impress.co.jp/www/article/980525/mojibake.htm

Content-Transfer-Encoding【メールヘッダ】とは
http://wa3.i-3-i.info/word11117.html

・大量のテキストの文字・改行コードをまとめて判定・変換できる「FileCode Checker」
< http://forest.watch.impress.co.jp/docs/review/578855.html > 2016年12月20日

テキスト変換処理
http://www.plus-a.net/tools/text_tool/

【linux】ファイルの文字コードを変換する。vi、iconv、nkf (nkfの文字コード判定とか一括変換は便利)
http://tweeeety.hateblo.jp/entry/2014/12/17/230611

MIMEエンコードされたメールのデコード方法
http://qiita.com/sheepland/items/2065ffcc7ec8c03145cc

コマンドラインでMIMEヘッダーをエンコード&デコードする方法
http://qiita.com/gologo13/items/7e83aa15b9269758e4af

[本文]内の文字列を対象にしたメッセージフィルタだけが効きません。
http://forums.mozillazine.jp/viewtopic.php?t=11713


【iconv】文字コードを変換して出力する
http://itpro.nikkeibp.co.jp/article/COLUMN/20131209/523510/?rt=nocnt

メール 文字化け の 原因 対処方法。 MIME、Base64、UTF-8、シフトJIS
http://fanblogs.jp/booboo7x70/archive/122/0


UTF-8 quoted-printable, multiline subject for Thunderbird?
http://stackoverflow.com/questions/31221992/utf-8-quoted-printable-multiline-subject-for-thunderbird


2016年12月24日土曜日

【Linux CentOS 7(1511)】LinuxソフトウェアRAIDアレイの要素として使うディスクにパーティションを作成した

LinuxソフトウェアRAIDで使用するディスクの準備を行った。

ターゲットのディスクは、/dev/sdbとする。
このディスクに、ソフトウェアRAIDアレイの構成要素として使うパーティションを作成した。

追加するディスクは予め、エイジングも兼ねて不良ブロックのテストを行うとベターではないかと思う。
http://akira-arets.blogspot.jp/2018/04/linux-checking-hdd-writefailure.html



■partedを起動した。

# parted /dev/sdb
GNU Parted 3.1
/dev/sdb を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
■パーティションテーブルを作成した。

下記のように、パーティションテーブルの種類は選べるようになっている。
ここでは、「msdos」MBR形式を選択した。
ただし、2TBを超えるディスクの場合は、代わりに「gpt」を選択した方がよい。

(parted) mktable                                                      
新しいディスクラベル?                                                
aix    amiga  bsd    dvh    gpt    loop   mac    msdos  pc98   sun 
新しいディスクラベル? msdos          

■パーティションを作成した。

(parted) p                                                              
モデル: ATA TOSHIBA DT01ACA1 (scsi)
ディスク /dev/sdb: 1000GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
ディスクフラグ:
番号  開始  終了  サイズ  タイプ  ファイルシステム  フラグ

下記のように、パーティション構成情報を入力した。
ファイルシステムは何も入力せずにエンターのみ入力した。
開始と終了では、大雑把な値と単位(GB)をつけて入力した。
単位がなければ、アライメントの自動調整がされずエラーが発生した。

(parted) mkpart                                                        
パーティションの種類?  primary/プライマリ/extended/拡張? primary
ファイルシステムの種類?  [ext2]?                                    
開始? 0GB                                                              
終了? 999GB                                                            
(parted) p                                                            
番号  開始    終了   サイズ  タイプ   ファイルシステム  フラグ
 1    1049kB  999GB  999GB   primary

■作成したパーティションにフラグを付加した。

パーティションにraidフラグをつけなければ、カーネルにRAIDアレイ要素として認識されないらしい。
そのため、下記ではパーティションにraidフラグを作成している。
(ところで、パーティションを作成せずディスクを丸ごとRAIDアレイ要素として用いた時、このようなフラグをつけなかったが、再起動後もRAIDアレイは正常に動作していた。)

ヘルプを参照した。
(parted) help set                                                      
  set NUMBER フラグ 状態        ファイルシステムのフラグと状態を設定する
        NUMBER は Linux カーネルによってパーティション番号として使われます。MS-DOS ディスクラベルでは、基本パーティション番号は 1 から 4 までで、論理パーティションは 5 以降となります。
        フラグは次のうちから選びます: boot, root, swap, hidden, raid, lvm, lba, hp-service, palo, prep, msftres, bios_grub, atvrecv, diag, legacy_boot
        状態は on か off のどちらか

上記の値をつかって、パーティション1(作成したもの)に、フラグと状態を設定した。

(parted) set 1 raid on
(parted) p
番号  開始    終了   サイズ  タイプ   ファイルシステム  フラグ
 1    1049kB  999GB  999GB   primary                    raid

新品価格
¥15,272から
(2018/3/19 23:23時点)

<参考>
・Quick guide to software RAID1 with mdadm
< http://blog.hugochinchilla.net/2014/03/quick-guide-to-software-raid1-with-mdadm/ > 2016年12月22日

・Using parted to create a RAID primary partition
< https://plone.lucidsolutions.co.nz/linux/io/using-parted-to-create-a-raid-primary-partition > 2016年12月22日

・How should a RAID partition be created and configured using parted?
< http://askubuntu.com/questions/200801/how-should-a-raid-partition-be-created-and-configured-using-parted > 2016年12月22日

2016年12月12日月曜日

【Linux CentOS 7(1511)】mdadmで構築したミラーアレイにホットスペア用ディスクを追加し動作テストを行った

(更新 2018/3/19)故障ディスクの物理的取外し方


空のSATAディスク(スペア用ディスク)を取り付けてマシンを起動した。
このディスクにはパーティションも存在していない。

予め、RAID構成で使用するためのパーティションをスペアディスク作成しておく。(下記ページ参考)
http://akira-arets.blogspot.jp/2016/12/linux-create-partitions-for-linuxraid.html

ただし、ディスクはアレイを構成しているディスクにサイズが一致したものを用いた。
(より大きければ問題がないはずである。)

(注意)下記の記事は、もともとはRAID構成用のパーティションをスペアディスクに作成せずに行った作業について書いたもので、後でパーティションを作成した場合に割り当てられるデバイス名に置換したものである。



■RAIDアレイの現状を表示させた。

# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Sat Oct  8 21:17:25 2016
     Raid Level : raid1
     Array Size : 975454208 (930.27 GiB 998.87 GB)
  Used Dev Size : 975454208 (930.27 GiB 998.87 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent
  Intent Bitmap : Internal
    Update Time : Mon Dec 12 00:08:14 2016
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0
           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : xxxxxxxx:xxxxxxxx:xxxxxxxx:xxxxxxxx
         Events : 1359
    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       49        1      active sync   /dev/sdd1 

○この段階では、まだスペアディスクは存在していない

○また、アレイを構成しているディスクが、次の二つであることもわかった。
(パーティションを構成していたので、それを示す1という数値が含まれている。)
/dev/sdc1 
/dev/sdd1
この結果と、fdisk -l コマンド結果と照合してみれば、アレイに関わっていないディスクデバイス名が判明する
即ち、今回スペア用に増設したディスクのパーティションは、/dev/sdb1 であることがわかった
(いうまでもなく、利用環境によってこの値は変化するので注意。)



■スペアディスクをアレイに追加した。

上記の方法で調べた空のディスクのパーティション(/dev/sdb1)をスペアとしてアレイに追加した。
コマンドはすぐに完了した。
(ここでは、パーティションを構成せずに使用してしまったが、後から、RAID構成用のものとして判断がつきやすいようにパーティションを作成した方がよいのかもしれない。)

# mdadm --add /dev/md0 /dev/sdb1
mdadm: added /dev/sdb1

先程のコマンドでアレイの状態を取得し、スペアの状態を抜粋した。

# mdadm --detail /dev/md0 | grep "Spare Devices"
  Spare Devices : 1
この段階で、スペアがアレイに一つ追加された。


東芝 DT01ACA100 1TB アマゾン限定モデル 2年保証 SATA 6Gbps対応3.5型内蔵ハードディスク

新品価格
¥5,618から
(2018/3/19 23:01時点)

■スペアディスクが正常に動作するのかテストした。
(以下、テストではアレイの喪失可能性の危険が伴う。)

スペアディスクが正常に動作するのかテストする方法は、実際にアレイを構成しているディスクの機能を停止させることである。
そのためには専用コマンドを使ってアレイを構成する一つのデバイスのみ「fail」にする。

(注意)
言うまでもなく、このアレイはミラーリングRAID1なのでアレイを構成するディスクの一つ止めればもう片側のディスクだけで運用されることになる。
そして片方のディスクが壊れてしまうと、アレイは機能しなくなる。

1、まず、アレイの情報を取得した。

# cat /proc/mdstat 
Personalities : [raid1]
md0 : active raid1 sdb1[2](S) sdc1[0] sdd1[1]
      975454208 blocks super 1.2 [2/2] [UU]
      bitmap: 0/8 pages [0KB], 65536KB chunk
unused devices: <none>
上記、[2][0][1]は、アレイ中でのデバイスインジゲーターである。
既に設定したように、このミラーアレイにはスペアディスクが一つ追加されている。
そのため、アレイにはデバイスインジゲーターが2まである。(3デバイスが存在)

また、[UU]で示されている通り、ミラーアレイの構成デバイスは2台正常に動作している。


2、ミラーアレイの内の、デバイス1台をfailとしてわざと無効にした。
(注意)このコマンドで、アレイを構成していたディスク(/dev/sdd1)がフェイル状態となり、ミラーアレイは片方のディスクで動作する。
下記、/dev/sddではなく、/dev/sdd1となっていることに注意。
これは、アレイを構築する際にパーティションを作成して行ったためである。
# mdadm --manage /dev/md0 -f /dev/sdd1
mdadm: set /dev/sdd1 faulty in /dev/md0

つづいて、アレイの状態を表示させた。
これまでの設定によって、ホットスペアディスクを登録しているので、自動的に再構築作業が行われた。
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[2] sdc1[0] sdd1[1](F)
      975454208 blocks super 1.2 [2/1] [U_]
      [>....................]  recovery =  0.0% (825344/975454208) finish=78.7min speed=206336K/sec
      bitmap: 0/8 pages [0KB], 65536KB chunk
unused devices: <none>

5分ほど置いて、アレイの状態を表示させた。
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[2] sdc1[0] sdd1[1](F)
      975454208 blocks super 1.2 [2/1] [U_]
      [>....................]  recovery =  4.9% (48410112/975454208) finish=80.8min speed=190993K/sec
      bitmap: 0/8 pages [0KB], 65536KB chunk
unused devices: <none>

この結果では残り時間は、80分として算出されている。
再構築作業は進んでいるが時間がかかることがわか
この再構築中にアレイを構成しているディスク1台が故障してしまうと、アレイは喪失してしまうことになる

再構築作業はバックグラウンドで行われている。
その間、下記、3の手順に進み、fail状態のディスクをremoveした。
そうしてさらに、この再構築が完了するまで待った。



3、「fail」としたディスクを「remove」した。

上記の再構築状態を示す結果にはsdd1[1](F)」としてfailにされたデバイス情報が残っている。
再構築が開始されたことと、fail状態になっていることを確認したらremoveコマンドを実行した。

次のコマンドを実行して、removeした。
# mdadm --manage /dev/md0 -r sdd1
mdadm: hot removed sdd1 from /dev/md0
再びアレイの状態を表示させた。
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb[2] sdc1[0]
      975454208 blocks super 1.2 [2/1] [U_]
      [===>.................]  recovery = 17.5% (171365248/975454208) finish=72.6min speed=184371K/sec
      bitmap: 0/8 pages [0KB], 65536KB chunk
unused devices: <none>
今度は、先程のfailとなったディスクが表示されなくなった。
これでアレイからremoveされた。


4、「remove」済みディスクを簡易に初期化した。

上記で、アレイからremoveしたディスク(/dev/sdd1)について調べると、まだRAIDシステム用のパーティションが残っている。
# fdisk -l
Disk /dev/sdd: 1000.2 GB, 1000204886016 bytes, 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト
Disk label type: dos
ディスク識別子: 0x00017ea8
デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdd1            2048  1951172607   975585280   fd  Linux raid autodetect

すでに、アレイからremoveしたディスクなので、RAIDシステム用の情報を消去した。
# mdadm --zero-superblock /dev/sdd1

しかし、パーティション自体は消えていなかったので、必要ならばさらにパーティションも削除した。
# parted /dev/sdd
GNU Parted 3.1
/dev/sdd を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) p                                                          
モデル: ATA TOSHIBA DT01ACA1 (scsi)
ディスク /dev/sdd: 1000GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
ディスクフラグ:
番号  開始    終了   サイズ  タイプ   ファイルシステム  フラグ
 1    1049kB  999GB  999GB   primary                    raid
(parted) rm 1                                                             
(parted) p
モデル: ATA TOSHIBA DT01ACA1 (scsi)
ディスク /dev/sdd: 1000GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
ディスクフラグ:
番号  開始  終了  サイズ  タイプ  ファイルシステム  フラグ
(parted)

実際にremove済みディスクを取り外すためには、マシンの電源を落す必要があるだろう。
しかし、再構築が完了するまでは待った。
今回はテスト目的であったので、再びこのディスクはスペアに回すことにした。



■再構築完了後、状態を表示した。

# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb[2] sdc1[0]
      975454208 blocks super 1.2 [2/2] [UU]
      bitmap: 0/8 pages [0KB], 65536KB chunk
unused devices: <none>
再び、ミラーアレイの状態が正常になっていることがわかった。



■不要なディスクを筐体から取り外す。

RAIDアレイから切り離しても、ディスクからは動作音が聞こえる。
このまま放置せずに、マシン筐体から取り外すことにした。

次の手順にしたがって、ターゲットのディスクのシリアル番号を得て、
その番号から実際のディスク本体を見つけ、取り外すことができた

予め、上記で判明している取り外すべきディスクのデバイス名をメモしておく。
この際、間違ったディスクを取り外して、システムに不整合を生じさせないように、
細心の注意を必要とする。

http://akira-arets.blogspot.jp/2018/03/linux-whichdiskisthediskiwantremove.html

ディスクの物理的な取り外しには、マシンのシャットダウン、電源オフが必要だった。


【Amazon.co.jp限定】TOSHIBA HDD 内蔵ハードディスク 3.5インチ 4TB Enterprise Cloud HDD MC04ACA400/AFP SATA3.0 1年保証

新品価格
¥15,272から
(2018/3/19 23:23時点)



<参考>

・RedHat / CentOS : Managing software RAID with mdadm
< http://thegeekdiary.com/redhat-centos-managing-software-raid-with-mdadm/ > 2016年12月12日

・Adding a hot spare to an md device
< http://prefetch.net/blog/index.php/2007/03/11/adding-a-hot-spare-to-an-md-device/ > 2016年12月12日

・Mdstat
< https://raid.wiki.kernel.org/index.php/Mdstat > 2016年12月12日

・RAID構成ハードディスク交換
< https://centossrv.com/centos5-raid-3.shtml > 2016年12月12日

・SoftwareRAID
< https://wiki.debian.org/SoftwareRAID > 2016年12月15日

・RAID superblock formats
< https://raid.wiki.kernel.org/index.php/RAID_superblock_formats > 2016年12月15日

【Linux CentOS 7(1511)】液晶ディスプレイバックライトを調整するファンクションキーを使えるようにする

CentOS 7(1511)minimal + MATE のデスクトップ環境を構築した。
使用したPCは液晶画面一体型ラップトップである。
ビデオは、Intel GMA 4500MHD というものが搭載されているらしい。

このPCの一体型キーボードには、液晶バックライト輝度調整のための指定のファンクションキーがある。
輝度を調整しようとして操作すると画面にバーが表示されて左右に動くものの、輝度は変化しなかった。


■コンソールからコマンドを実行して輝度を調整できた。

調べてみると、次のコマンドで輝度を調整できた。
tee /sys/class/backlight/intel_backlight/brightness <<< 2500000
入力値は輝度を表す。
最初は次の値を示していた。
cat /sys/class/backlight/intel_backlight/brightness
4422465

■指定のファンクションキーを使って輝度を調整できた。

毎回コマンドを入力するのは面倒くさい。どうしてもファンクションキーで調整したい。
調べてみると、次の方法で解決できた。

1、次のようにファイルを作成し、編集した。

# vi /usr/share/X11/xorg.conf.d/20-intel.conf
Section "Device"
        Identifier  "card0"
        Driver      "intel"
        Option      "Backlight"  "intel_backlight"
        BusID       "PCI:0:2:0"
EndSection
2、そして再起動した。

# reboot


再起動後、キーに印字されている指定されたファンクションキーでバックライトを調整できるようになった。

以上


□上記に設定された PCI:0:2:0 について調べた。

# lspci
00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
多分、この VGA compatible controller のことだと思う。
しかし、設定ファイルの、BusIDの値が全てのマシンで同じになるのだろうか。


□この不具合はバグらしい。

Nvidiaグラフィックスカード、Intelグラフィックスカードの輝度に関する問題を引き起すバグらしい。(†1)

そして、以上で試した方法は、Intelグラフィックスカードを搭載したPCで有効の対策方法ということらしい。(†1)

搭載しているグラフィックスカードは、次のコマンドで確かめられた。(インテルの場合)

# ls /sys/class/backlight/
acpi_video0  intel_backlight
もし、これがNvidiaであれば、以上の対応方法もまた変わってくるのだろうと思う。



<参考>
1、FIX BRIGHTNESS CONTROL NOT WORKING FOR UBUNTU 14.04 & LINUX MINT 17
< https://itsfoss.com/fix-brightness-ubuntu-1310/ > 2016年12月12日

2、Changing screen brightness not working with Fn keys [SOLVED]
< https://forums.linuxmint.com/viewtopic.php?t=187720 > 2016年12月12日

3、Backlight
< https://wiki.archlinux.org/index.php/Backlight#ACPI > 2016年12月12日

2016年12月11日日曜日

【Linux CentOS 7(1511)】nmcliコマンドを使って行うネットワークの設定と変更

ここでは、既存のネットワーク接続の変更を取り扱っています。

○ネットワーク接続を最初に作成するには下記ページを参照してください。
有線ネットワークのコネクションを成立させる方法
無線(WIFI)ネットワークのコネクションを成立させる方法



■ネットワークデバイスの一覧を表示させた。

# nmcli device
デバイス  タイプ    状態      接続
wlp4s0    wifi      接続済み  wlp4s0 
enp5s0    ethernet  利用不可  --  
lo        loopback  管理無し  --     


■切断、そして再接続

# nmcli con down wlp4s0
Connection 'wlp4s0' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/0)
# nmcli device
デバイス  タイプ    状態      接続
wlp4s0    wifi      切断済み  --   enp5s0    ethernet  利用不可  --
lo        loopback  管理無し  --   
# nmcli con up wlp4s0
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/1)


■デバイスについて情報を表示させた。

# nmcli dev show wlp4s0
GENERAL.デバイス:                       wlp4s0
GENERAL.タイプ:                         wifi
GENERAL.ハードウェアアドレス:           xx:xx:xx:xx:xx:xx
GENERAL.MTU:                            0
GENERAL.状態:                           100 (接続済み)
GENERAL.接続:                           wlp4s0
GENERAL.CON パス:                       /org/freedesktop/NetworkManager/ActiveConnection/0
IP4.アドレス[1]:                        192.168.1.40/24
IP4.ゲートウェイ:                       192.168.1.1
IP4.DNS[1]:                             8.8.8.8
IP6.アドレス[1]:                        fe80::xxxx:xxxx:xxxx:xxxx/64
IP6.ゲートウェイ:

接続についての情報を詳細に表示するには次のコマンドを実行する。
# nmcli con show wlp4s0



■ネットワーク設定を変更する。

○DNSサーバの追加・変更

(注)DHCP経由でDNSサーバアドレスを取得している場合、まず自動取得しないよう設定
# nmcli con mod wlp4s0 ipv4.ignore-auto-dns yes

DNSアドレスを設定
# nmcli con mod wlp4s0 ipv4.dns 192.168.2.1

再接続
# nmcli con up wlp4s0

状態を表示(DNSアドレスが静的に設定されたことがわかる。)
# nmcli dev show wlp4s0
GENERAL.デバイス:                       wlp4s0
GENERAL.タイプ:                         wifi
GENERAL.ハードウェアアドレス:           xx:xx:xx:xx:xx:xx
GENERAL.MTU:                            1500
GENERAL.状態:                           100 (接続済み)
GENERAL.接続:                           wlp4s0
GENERAL.CON パス:                       /org/freedesktop/NetworkManager/ActiveConnection/9
IP4.アドレス[1]:                        192.168.1.40/24
IP4.ゲートウェイ:                       192.168.1.1
IP4.DNS[1]:                             192.168.2.1
IP6.アドレス[1]:                        fe80::xxxx:xxxx:xxxx:xxxx/64
IP6.ゲートウェイ: 

○IPアドレス、ゲートウェイの変更
(静的に割り当てを行う)

(注)下記パラメーターで不正な値を設定すると、ネットワークにつながらなくなってしまうので注意。特に、リモート接続時等は細心の注意が必要。

IPv4アドレスを設定
# nmcli con mod wlp4s0 ipv4.addresses 192.168.1.10/24

ゲートウェイアドレスを設定
# nmcli con mod wlp4s0 ipv4.gateway 192.168.1.1

アドレス設定を手動方式に切り替え(DHCPは使わない。)
# nmcli con mod wlp4s0 ipv4.method manual

再接続
# nmcli con up wlp4s0



(参考)
・RHEL7: Configure IPv4 addresses and perform basic IPv4 troubleshooting.
< https://www.certdepot.net/rhel7-configure-ipv4-addresses/ > 2016年12月11日

2016年12月4日日曜日

【Linux CentOS7 1511】VNCビューワーのみインストールする

VNCビューワー(クライアント)のみをインストールした。


□VNCビューワーをインストールした。
(このパッケージにはサーバーは含まない。)

yum install tigervnc


□インストールしたパッケージの情報を表示させた。

# yum info tigervnc
名前                : tigervnc
アーキテクチャー    : x86_64
バージョン          : 1.3.1
リリース            : 4.el7_2
容量                : 517 k
リポジトリー        : installed
提供元リポジトリー  : updates
要約                : A TigerVNC remote display system
URL                 : http://www.tigervnc.com
ライセンス          : GPLv2+
説明                : Virtual Network Computing (VNC) is a remote display system
                    : which allows you to view a computing 'desktop' environment
                    : not only on the machine where it is running, but from
                    : anywhere on the Internet and from a wide variety of
                    : machine architectures.  This package contains a client
                    : which will allow you to connect to other desktops running
                    : a VNC server.

【Linux CentOS 7 1511】NTFSファイルシステムを扱えるようにする

CentOS 7は、デフォルトではNTFSファイシステムを扱えなかった。

そのため、ディスクをNTFSでフォーマットすることもできないし、マウントして読み取ることもできない。
gnome-disk-utilityをつかってNTFSフォーマットを行おうとすると、mkntfsが見つからないというエラーが発生した。

CentOS 7で、NTFSを扱えるようにするには追加でパッケージを導入する必要があった。



□追加パッケージ導入のためepelリポジトリを利用可能にした。

# yum install epel-release


□ntfsファイルシステム用ライブラリとユーティリティを導入した。

# yum install ntfsprogs

以上によって、gnome-disk-utilityを用いて、ntfsでフォーマットもできるようになった


ところで、gnome-disk-utilityは次のようにして導入可能だった。
# yum install gnome-disk-utility


□今回、導入したパッケージの情報を表示させた。

# yum info ntfsprogs
名前                : ntfsprogs
アーキテクチャー    : x86_64
エポック            : 2
バージョン          : 2016.2.22
リリース            : 3.el7
容量                : 982 k
リポジトリー        : installed
提供元リポジトリー  : epel
要約                : NTFS filesystem libraries and utilities
URL                 : http://www.ntfs-3g.org/
ライセンス          : GPLv2+
説明                : The ntfsprogs package currently consists of a library and
                    : utilities such as mkntfs, ntfscat, ntfsls, ntfsresize, and
                    : ntfsundelete (for a full list of included utilities see
                    : man 8 ntfsprogs after installation).


CentOS 7で作るネットワークサーバ構築ガイド 1804対応 第2版 (Network Server Construction Guide S)

新品価格
¥4,860から
(2018/11/30 00:23時点)


投げ銭

★当サイトへの投げ銭(PayPal)★

Ad

Ad