



<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://wiki.belosnezhka-pg.ru/index.php?action=history&amp;feed=atom&amp;title=Admins%3AMegaCli_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80</id>
	<title>Admins:MegaCli пример - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.belosnezhka-pg.ru/index.php?action=history&amp;feed=atom&amp;title=Admins%3AMegaCli_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80"/>
	<link rel="alternate" type="text/html" href="http://wiki.belosnezhka-pg.ru/index.php?title=Admins:MegaCli_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80&amp;action=history"/>
	<updated>2026-04-17T17:19:58Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.37.2</generator>
	<entry>
		<id>http://wiki.belosnezhka-pg.ru/index.php?title=Admins:MegaCli_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80&amp;diff=366&amp;oldid=prev</id>
		<title>Ustinovi в 09:57, 26 февраля 2024</title>
		<link rel="alternate" type="text/html" href="http://wiki.belosnezhka-pg.ru/index.php?title=Admins:MegaCli_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80&amp;diff=366&amp;oldid=prev"/>
		<updated>2024-02-26T09:57:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия 12:57, 26 февраля 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l189&quot;&gt;Строка 189:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 189:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# MegaCli -LDInfo -Lall -aALL | grep State&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# MegaCli -LDInfo -Lall -aALL | grep State&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;State               : Optimal&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;State               : Optimal&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Admins]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki:diff::1.12:old-365:rev-366 --&gt;
&lt;/table&gt;</summary>
		<author><name>Ustinovi</name></author>
	</entry>
	<entry>
		<id>http://wiki.belosnezhka-pg.ru/index.php?title=Admins:MegaCli_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80&amp;diff=365&amp;oldid=prev</id>
		<title>Ustinovi: Новая страница: «Данная утилита от LSI так же позволяет оперировать рейд-контроллерами от Dell. Но замена дисков через такую утилиту – целый hardcore, только для настоящих Tru-админов )).  Тестовый стенд: контроллер PERC 6/i, RAID-1, Linux MegaCli64, выпал 1 диск.  Смотрим состояние RAID’a:  # /usr/local/b...»</title>
		<link rel="alternate" type="text/html" href="http://wiki.belosnezhka-pg.ru/index.php?title=Admins:MegaCli_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80&amp;diff=365&amp;oldid=prev"/>
		<updated>2024-02-26T09:56:24Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «Данная утилита от LSI так же позволяет оперировать рейд-контроллерами от Dell. Но замена дисков через такую утилиту – целый hardcore, только для настоящих Tru-админов )).  Тестовый стенд: контроллер PERC 6/i, RAID-1, Linux MegaCli64, выпал 1 диск.  Смотрим состояние RAID’a:  # /usr/local/b...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Данная утилита от LSI так же позволяет оперировать рейд-контроллерами от Dell. Но замена дисков через такую утилиту – целый hardcore, только для настоящих Tru-админов )).&lt;br /&gt;
&lt;br /&gt;
Тестовый стенд: контроллер PERC 6/i, RAID-1, Linux MegaCli64, выпал 1 диск.&lt;br /&gt;
&lt;br /&gt;
Смотрим состояние RAID’a:&lt;br /&gt;
&lt;br /&gt;
# /usr/local/bin/MegaCli -LDInfo -Lall -aALL | grep State&lt;br /&gt;
State : Degraded&lt;br /&gt;
&lt;br /&gt;
Какой диск стал причиной этому:&lt;br /&gt;
&lt;br /&gt;
# MegaCli -PDList -aAll | egrep &amp;quot;Enclosure Device ID:|Slot Number:|Inquiry Data:|Error Count:|state&amp;quot;&lt;br /&gt;
Enclosure Device ID: 32&lt;br /&gt;
Slot Number: 0&lt;br /&gt;
Media Error Count: 0&lt;br /&gt;
Other Error Count: 0&lt;br /&gt;
Firmware state: Online, Spun Up&lt;br /&gt;
Inquiry Data: FUJITSU MBC2073RC D506BV03P9605GU7&lt;br /&gt;
Enclosure Device ID: 32&lt;br /&gt;
Slot Number: 1&lt;br /&gt;
Media Error Count: 16655&lt;br /&gt;
Other Error Count: 15&lt;br /&gt;
Firmware state: Failed&lt;br /&gt;
Inquiry Data: SEAGATE ST973452SS 00076TA0EDKH&lt;br /&gt;
Enclosure Device ID: 32&lt;br /&gt;
Slot Number: 2&lt;br /&gt;
Media Error Count: 0&lt;br /&gt;
Other Error Count: 0&lt;br /&gt;
Firmware state: Online, Spun Up&lt;br /&gt;
Inquiry Data: SEAGATE ST973451SS SM043PD1WB4Z&lt;br /&gt;
Enclosure Device ID: 32&lt;br /&gt;
Slot Number: 3&lt;br /&gt;
Media Error Count: 0&lt;br /&gt;
Other Error Count: 0&lt;br /&gt;
Firmware state: Online, Spun Up&lt;br /&gt;
Inquiry Data: SEAGATE ST973451SS SM043PD1WBN7&lt;br /&gt;
Enclosure Device ID: 32&lt;br /&gt;
Slot Number: 4&lt;br /&gt;
Media Error Count: 0&lt;br /&gt;
Other Error Count: 0&lt;br /&gt;
Firmware state: Online, Spun Up&lt;br /&gt;
Inquiry Data: SEAGATE ST973451SS SM043PD1T7EG&lt;br /&gt;
Enclosure Device ID: 32&lt;br /&gt;
Slot Number: 5&lt;br /&gt;
Media Error Count: 0&lt;br /&gt;
Other Error Count: 0&lt;br /&gt;
Firmware state: Online, Spun Up&lt;br /&gt;
Inquiry Data: FUJITSU MBC2073RC D506BV03P9605GF0&lt;br /&gt;
&lt;br /&gt;
Как видим, это диск [32:1]. Именно так к нему в дальнейшем нужно обращаться. Что бы заменить диск, нужно его перевести в offline, пометить как “пропавший” и удалить:&lt;br /&gt;
&lt;br /&gt;
общий вид команд:&lt;br /&gt;
&lt;br /&gt;
# MegaCli -PDOffline -PhysDrv [E:S] -aN&lt;br /&gt;
# MegaCli -PDMarkMissing -PhysDrv [E:S] -aN&lt;br /&gt;
# MegaCli -PDPrpRmv -PhysDrv [E:S] -aN&lt;br /&gt;
&lt;br /&gt;
в нашем случае это будет так:&lt;br /&gt;
&lt;br /&gt;
# MegaCli -PDOffline -PhysDrv [32:1] -a0&lt;br /&gt;
# MegaCli -PDMarkMissing -PhysDrv [32:1] -a0&lt;br /&gt;
# MegaCli -PDPrpRmv -PhysDrv [32:1] -a0&lt;br /&gt;
&lt;br /&gt;
Да! Но и это ещё не всё. Потом нужно задать команду замены диска (эту команду выполнить уже после замены диска).:&lt;br /&gt;
&lt;br /&gt;
общий вид:&lt;br /&gt;
&lt;br /&gt;
# MegaCli -PdReplaceMissing -PhysDrv [E:S] -ArrayN -rowN -aN&lt;br /&gt;
&lt;br /&gt;
в нашем случае это будет так:&lt;br /&gt;
&lt;br /&gt;
# MegaCli -PdReplaceMissing -PhysDrv [32:1] -Array0 -row1 -a0&lt;br /&gt;
&lt;br /&gt;
Если нужно подсветить диск (что бы было видно, какой нужно менять) делаем так (при этом диск будет непрерывно гореть зелёным светом):&lt;br /&gt;
&lt;br /&gt;
# MegaCli -PdLocate -start -PhysDrv [32:1] -a0&lt;br /&gt;
&lt;br /&gt;
Что бы прекратить:&lt;br /&gt;
&lt;br /&gt;
# MegaCli -PdLocate -stop -PhysDrv [32:1] -a0&lt;br /&gt;
&lt;br /&gt;
Но в моём случае мне повезло, так как в опциях рейда стояло autorebuild:&lt;br /&gt;
&lt;br /&gt;
# MegaCli -adpallinfo -a0 | grep 'Auto Rebuild'&lt;br /&gt;
Auto Rebuild : Enabled&lt;br /&gt;
&lt;br /&gt;
и поэтому, после замены диска не пришлось выполнять команду замены диска – он сам начал процесс перестройки рейда:&lt;br /&gt;
&lt;br /&gt;
# MegaCli -PDRbld -ShowProg -PhysDrv [32:1] -a0&lt;br /&gt;
Rebuild Progress on Device at Enclosure 32, Slot 1 Completed 1% in 0 Minutes.&lt;br /&gt;
&lt;br /&gt;
При этом Firmware state тоже в состоянии Rebuild:&lt;br /&gt;
&lt;br /&gt;
# MegaCli -PDInfo -PhysDrv [32:1] -a0 | grep 'Firmware state'&lt;br /&gt;
Firmware state: Rebuilding&lt;br /&gt;
&lt;br /&gt;
Как заменить диск в массиве, если rebuild не начался автоматически (пример взят из http://wiki.hetzner.de)?&lt;br /&gt;
&lt;br /&gt;
Статус нового диска должен быть “Unconfigured (good)“. Это можно проверить с помощью PDList. Если статус диска “Unconfigured (bad)“, то его надо сначала сделать пригодным для использования как показано ниже:&lt;br /&gt;
&lt;br /&gt;
root@rescue ~ # megacli -PDList -a0 | grep Firmware&lt;br /&gt;
Firmware state: Online, Spun Up&lt;br /&gt;
Device Firmware Level: CC45&lt;br /&gt;
Firmware state: Online, Spun Up&lt;br /&gt;
Device Firmware Level: CC45&lt;br /&gt;
Firmware state: Unconfigured(bad), Spun Up&lt;br /&gt;
Device Firmware Level: CC45&lt;br /&gt;
Firmware state: Online, Spun Up&lt;br /&gt;
Device Firmware Level: CC45&lt;br /&gt;
&lt;br /&gt;
root@rescue ~ # megacli -PDMakeGood -PhysDrv [245:3] -a0&lt;br /&gt;
&lt;br /&gt;
Ещё один момент. Иногда, после того, как вы перевели диск из bad в good, он может оказаться в “не родной” конфигурации:&lt;br /&gt;
&lt;br /&gt;
Foreign State: Foreign&lt;br /&gt;
&lt;br /&gt;
и при попытке что-то с ним сделать получаем ошибку:&lt;br /&gt;
&lt;br /&gt;
# MegaCli -CfgLdAdd -r0[80:17] -a0&lt;br /&gt;
The specified physical disk does not have the appropriate attributes to complete&lt;br /&gt;
the requested command.&lt;br /&gt;
Exit Code: 0x26&lt;br /&gt;
&lt;br /&gt;
Обнаружить сколько дисков в такой конфигурации можно так:&lt;br /&gt;
&lt;br /&gt;
# MegaCli -CfgForeign -Scan -a0&lt;br /&gt;
There are 1 foreign configuration(s) on controller 0.&lt;br /&gt;
Exit Code: 0x00&lt;br /&gt;
&lt;br /&gt;
Очистить “не родную” конфигурацию:&lt;br /&gt;
&lt;br /&gt;
# MegaCli -CfgForeign -Clear -a0&lt;br /&gt;
Foreign configuration 0 is cleared on controller 0.&lt;br /&gt;
Exit Code: 0x00&lt;br /&gt;
&lt;br /&gt;
Если диск “good“, то им можно заменить отсутствующий диск. Для этого надо указать массив и позицию, где надо произвести замену. Эти значения можно получить, например, из megacli -CfgDsply -a0. Если диск отсутствует в массиве, запись “Physical Disk:” будет показана, но без дополнительно информации. В следующем примере четвёртый диск первого массива (Array0) заменяется диком из Enclosure 245 Slot 3 (“PhysDrv[245:3]“):&lt;br /&gt;
&lt;br /&gt;
root@rescue ~ # megacli -PdReplaceMissing -PhysDrv[245:3] -array0 -row4 -a0&lt;br /&gt;
Adapter: 0: Missing PD at Array 0, Row 4 is replaced.&lt;br /&gt;
Exit Code: 0x00&lt;br /&gt;
root@rescue ~ # megacli -PDRbld -Start -PhysDrv[245:3] -a0&lt;br /&gt;
Started rebuild progress on device(Encl-245 Slot-3)&lt;br /&gt;
Exit Code: 0x00&lt;br /&gt;
root@rescue ~ # megacli -PDRbld -ShowProg -PhysDrv [245:3] -aAll&lt;br /&gt;
Rebuild Progress on Device at Enclosure 245, Slot 3 Completed 1% in 0 Minutes.&lt;br /&gt;
&lt;br /&gt;
А что если, у вас массив построен на JBOD дисках и нужно заменить диск в zpool’e? Тогда делаем так:&lt;br /&gt;
&lt;br /&gt;
– после физической замены диска он становится:&lt;br /&gt;
&lt;br /&gt;
Firmware state: Unconfigured(good), Spun Up&lt;br /&gt;
Foreign State: None&lt;br /&gt;
&lt;br /&gt;
Если не выходит его просто сделать JBOD’ом:&lt;br /&gt;
&lt;br /&gt;
# MegaCli -PDMakeJBOD -PhysDrv[68:16] -a0&lt;br /&gt;
&lt;br /&gt;
тогда делаем его просто RAID0:&lt;br /&gt;
&lt;br /&gt;
# MegaCli -CfgLdAdd -r0[68:16] -a0&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
CopyBack state.&lt;br /&gt;
&lt;br /&gt;
Это состояние диска, при котором информация переносится с hotspare диска на новый:&lt;br /&gt;
&lt;br /&gt;
Enclosure Device ID: N/A&lt;br /&gt;
Slot Number: 0&lt;br /&gt;
...&lt;br /&gt;
Firmware state: Copyback&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Посмотреть, сколько осталось:&lt;br /&gt;
&lt;br /&gt;
# MegaCli -PDCpyBk -ShowProg -PhysDrv[:0] -a0&lt;br /&gt;
Copyback Progress on Device at Enclosure N/A, Slot 0 Completed 13% in 60 Minutes.&lt;br /&gt;
Exit Code: 0x00&lt;br /&gt;
&lt;br /&gt;
По завершению, диск перейдёт в состояние Unconfigured(good), Spun Up. До тех пор RAID будет в состоянии Degrade:&lt;br /&gt;
&lt;br /&gt;
# MegaCli -LDInfo -Lall -aALL | grep State&lt;br /&gt;
State : Degraded&lt;br /&gt;
&lt;br /&gt;
Дальше, переводим в Online:&lt;br /&gt;
&lt;br /&gt;
# MegaCli -PdReplaceMissing -PhysDrv[:0] -array0 -row0 -a0&lt;br /&gt;
# MegaCli -PDOnline -PhysDrv [:0] -a0&lt;br /&gt;
# MegaCli -LDInfo -Lall -aALL | grep State&lt;br /&gt;
State               : Optimal&lt;/div&gt;</summary>
		<author><name>Ustinovi</name></author>
	</entry>
</feed>