EMC Virtual Storage Integrator służy do monitoringu/ zarządzania macierzą EMC z poziomu Vmware vSphere.
Procedura instalacji:
+ ściągamy z serwisu powerlink.emc.com źródła appliance „Solution Enabler”.
+ Importujemy appliance przez File> Deploy OFV template wskazując ściągniętą i
+ rozpakowaną paczkę z appliance Solution Enablera.
+ Konfigurujemy appliance : nadajemy hasło dla usera seconfig, adresację IP.
+ Logujemy się do appliance przez przeglądarkę: https://ip:5480
+ Podajemy klucz licencyjny – jest to tzw. Klucz freeware – do ściągnięcia w pdf z strony powerlinka.
+ Wybieramy opcję „Discover CLARiiON” i podajemy adresy IP SP oraz użytkownika i hasło.
- Konfigurujemy opcję „Nethost settings” podając w formacie
nodename: computername.domainname
Users: username
Na komputerze na którym mamy zainstalowanego klienta vSphere instalujemy „EMC Virtual Storage Integrator for vSphere Client”
Jeżeli jest załączony musimy wyłączyć i włączyć ponownie vSphere client.
W plug-ins > manage plug-ins wybieramy zainstalowany plugin EMC VSI.
Do zmiennych systemowych dopisujemy SYMCLI_CONNECT_TYPE=remote
W Home > EMC storage podajemy adres IP appliance z Solution Enablera i wybieramy opcję „Test connection” i jeżeli wszystko działa „Save Connection”
wtorek, 24 sierpnia 2010
wtorek, 4 maja 2010
TSM - problemy z ORPHANS
Po przypadkowym usunięciu volumenu z discpooli występują problemy z tzw. osieroconymi bitami( brak odzwierciedlenia tego co jest w bazie z tym co jest na volumenach).
Historia:
Administrator ADMIN issued command: QUERY ACTLOG search=orphan
Administrator IBM_SERVICE issued command: REPAIR ORPHANS reset
Administrator IBM_SERVICE issued command: REPAIR ORPHANS repair
AUDIT VOLUME f:\TSM\DISKPOOL\DISK2.dsm fix=yes
AUDIT VOLUME f:\TSM\DISKPOOL\DISK3.dsm fix=yes
AUDIT VOLUME f:\TSM\DISKPOOL\DISK4.dsm fix=yes
....
QUERY CONTENT F:\TSM\DISKPOOL\DISK2.DSM
UPDATE SCRIPT MAINTENANCE_PLAN "/* EXP_INV_START */" LINE=800
...
DELETE OBJECT 25666578
....
REGISTER ADMIN IBM_SERVICE ?***?
GRANT AUTHORITY IBM_SERVICE classes=system
....
z usera IBM_SERVICE
REPAIR ORPHANS scan
REPAIR ORPHANS reset
REPAIR ORPHANS repair
QUERY ACTLOG search=orphan
....
sprawdzanie zajętrosci w db2
z
"C:\Program Files\Tivoli\TSM\db2\BIN\"
"C:\Program Files\Tivoli\TSM\db2\BIN\DB2CMD.exe" DB2SETCP.BAT DB2.EXE
db2 => connect to tsmdb1
db2 => select * from tsmdb1.bv_master_supernode
MSNID CAPACITY
----------- -----------
3311 268435455
52 262143999
53 262143999
3312 268435455
3313 268435455
3865 134217727
Wybrano 6 rekordów.
db2 => select count(*) from tsmdb1.ds_segments where volid=2
1
-----------
18908
Wybrano 1 rekordów.
db2 => select count(*) from tsmdb1.ds_overflow where volid=2
1
-----------
47805
Wybrano 1 rekordów.
=========================================================================================================
As per my discussion with the developer involved, we would like to take a look at the aggregates that have the error.
So for each of these aggregates, do the following. Since you got an error on 18984687, I'll use that as an example:
1) show aggr 0 18984687
2) show bfo 18984687
The volume or volumes displayed at the end of this output is the most interesting part.
3) From a DB2 CLP session, connect to the database, and set the schema, then run the following SQL queries
a) db2 select bfid, poolid, numsegs, deleted from df_bitfiles
b) db2 select bfid, poolid, numsegs, deleted from af_bitfiles
c) db2 select bfid, superbfid from bf_aggregated_bitfiles where superbfid=18984687
d) db2 select superbfid from bf_aggregate_attributes where superbfid=18984687
The above step is an example, you will have to run these steps for the following aggregates values which I extracted for the last actlog you provided on 22nd April.
aggregate 20839005
aggregate 17882363
aggregate 17883214
aggregate 18984687
aggregate 24711315
aggregate 25018525
aggregate 25684545
aggregate 25686837
aggregate 15214541
aggregate 19026749
aggregate 19809140
aggregate 27393788
aggregate 18452031
aggregate 18452822
aggregate 19359395
aggregate 19366237
aggregate 19358395
aggregate 19359395
aggregate 18747979
aggregate 18748235
aggregate 19510353
After we have the above outputs, we'll figure out the next step.
=================================================================
Do wykonania sql'i DB2 wykonałem polecenia:
C:\Program Files\Tivoli\TSM\db2\BIN>db2 -r c:\sel1.txt -tf c:\options.log
W pliku c:\options.log
----------------
!db2start;
connect to tsmdb1;
select bfid, poolid, numsegs, deleted from tsmdb1.df_bitfiles;
terminate;
----------------
Na potrzeby analizy środowiska powstało kilka skryptów:
=============
Wyświetla informacje o bitach DF
begining: tsmDFbitfile.cmd
=============
REM #
rem #######CONFIGURATION##################################################
rem #
rem #
rem #ustawiam zmienna nazwy pliku
for /f "Tokens=1-4 Delims=- " %%i in ('date /t') do (
set dt=%%i-%%j-%%k
)
rem #"C:\Program Files\Tivoli\TSM\baclient\dsmadmc.exe" -se=10.101.110.150 -id=admin
rem # Application path
set APPPATH="%ProgramFiles%\Tivoli\TSM\baclient\dsmadmc.exe"
rem # Application path dir
set APPPATHDIR="%ProgramFiles%\Tivoli\TSM\baclient\"
rem
rem Application options
set APPOPT=-se=10.10.10.150 -id=admin -password=*****
rem #0
rem # Filename for show aggr
set S=K:\%dt%S.txt
rem #
rem #1
rem # Filename for show bfo
set bfo=K:\%dt%bfo.txt
rem #
rem #5 Filename with printable report
set REPORTPRINT=K:\%dt%REPORTPRINT.txt
rem #
rem #End of configuration. Do not edit lines below.
rem ######################################################################
for %%z in (18984687 17882363 17883214 24711315 25018525 25684545 25686837 15214541 19026749 19809140 27393788 18452031 18452822 19359395 19366237 19358395 19359395 18747979 18748235 19510353) do (
rem #0 Do show aggr for specified id's
cd %APPPATHDIR%
%APPPATH% %APPOPT% -outfile=%S% show aggr 0 %%z
type %S% >> %REPORTPRINT%
rem #1 Do show bfo for specified id's
cd %APPPATHDIR%
%APPPATH% %APPOPT% -outfile=%bfo% show bfo %%z
type %bfo% >> %REPORTPRINT%
)
rem join files to output print file
rem type %SCHEDULE% >> %REPORTPRINT%
rem print /D:\\spoler01\c099 %REPORTPRINT%
notepad.exe %REPORTPRINT%
rem delete all tmp files
del %S% %REPORTPRINT% %SCHEDULE% %tmp%\%dt%yesterday.txt
=============
end: tsmDFbitfile.cmd
=============
=============
begining: DB2DFbitfile.cmd
=============
REM script to report some important administrative
rem #######CONFIGURATION##################################################
rem #
rem #
rem #ustawiam zmienna nazwy pliku
for /f "Tokens=1-4 Delims=- " %%i in ('date /t') do (
set dt=%%i-%%j-%%k
)
rem #" db2cmd -c -w -i db2 -td@ -fInputFile
rem # Application path
set APPPATH="%ProgramFiles%\Tivoli\TSM\db2\BIN\DB2cmd.exe" -c -w -i DB2SETCP.BAT db2.exe
rem # Application path dir
set APPPATHDIR="%ProgramFiles%\Tivoli\TSM\db2\BIN\"
rem
rem #0
rem # Filename for select statement1
set S=F:\DVD\%dt%S.txt
rem #
rem #1
rem # Filename for select statement2
set ss=F:\DVD\%dt%ss.txt
rem #
rem #5 Filename with printable report1
set REPORTPRINT1=F:\DVD\%dt%REPORTPRINT1.txt
rem #5 Filename with printable report2
set REPORTPRINT2=F:\DVD\%dt%REPORTPRINT2.txt
rem #
rem #End of configuration. Do not edit lines below.
rem ######################################################################
for %%z in (18984687 17882363 17883214 24711315 25018525 25684545 25686837 15214541 19026749 19809140 27393788 18452031 18452822 19359395 19366237 19358395 19359395 18747979 18748235 19510353) do (
rem #0 Do select1 for specified id's
cd %APPPATHDIR%
echo !db2start;> f:\dvd\options.txt
echo connect to tsmdb1;>> f:\dvd\options.txt
echo select bfid, superbfid from tsmdb1.bf_aggregated_bitfiles where superbfid=%%z;
>> f:\dvd\options.txt
echo terminate;>> f:\dvd\options.txt
%APPPATH% -r %s% -tf f:\dvd\options.txt
type %s% >> %REPORTPRINT1%
rm %s%
rem #1 Do select2 for specified id's
cd %APPPATHDIR%
echo !db2start;> f:\dvd\options2.txt
echo connect to tsmdb1;>> f:\dvd\options2.txt
echo select superbfid from tsmdb1.bf_aggregate_attributes where superbfid=%%z;
>> f:\dvd\options2.txt
echo terminate;>> f:\dvd\options2.txt
%APPPATH% -r %ss% -tf f:\dvd\options2.txt
type %ss% >> %REPORTPRINT2%
rm %ss%
)
rem join files to output print file
rem type %SCHEDULE% >> %REPORTPRINT%
rem print /D:\\spoler01\c099 %REPORTPRINT%
notepad.exe %REPORTPRINT1%
notepad.exe %REPORTPRINT2%
rem delete all tmp files
del %S% %ss% %REPORTPRINT1% %REPORTPRINT2% %SCHEDULE% %tmp%\%dt%yesterday.txt
=============
end: DB2DFbitfile.cmd
=============
Historia:
Administrator ADMIN issued command: QUERY ACTLOG search=orphan
Administrator IBM_SERVICE issued command: REPAIR ORPHANS reset
Administrator IBM_SERVICE issued command: REPAIR ORPHANS repair
AUDIT VOLUME f:\TSM\DISKPOOL\DISK2.dsm fix=yes
AUDIT VOLUME f:\TSM\DISKPOOL\DISK3.dsm fix=yes
AUDIT VOLUME f:\TSM\DISKPOOL\DISK4.dsm fix=yes
....
QUERY CONTENT F:\TSM\DISKPOOL\DISK2.DSM
UPDATE SCRIPT MAINTENANCE_PLAN "/* EXP_INV_START */" LINE=800
...
DELETE OBJECT 25666578
....
REGISTER ADMIN IBM_SERVICE ?***?
GRANT AUTHORITY IBM_SERVICE classes=system
....
z usera IBM_SERVICE
REPAIR ORPHANS scan
REPAIR ORPHANS reset
REPAIR ORPHANS repair
QUERY ACTLOG search=orphan
....
sprawdzanie zajętrosci w db2
z
"C:\Program Files\Tivoli\TSM\db2\BIN\"
"C:\Program Files\Tivoli\TSM\db2\BIN\DB2CMD.exe" DB2SETCP.BAT DB2.EXE
db2 => connect to tsmdb1
db2 => select * from tsmdb1.bv_master_supernode
MSNID CAPACITY
----------- -----------
3311 268435455
52 262143999
53 262143999
3312 268435455
3313 268435455
3865 134217727
Wybrano 6 rekordów.
db2 => select count(*) from tsmdb1.ds_segments where volid=2
1
-----------
18908
Wybrano 1 rekordów.
db2 => select count(*) from tsmdb1.ds_overflow where volid=2
1
-----------
47805
Wybrano 1 rekordów.
=========================================================================================================
As per my discussion with the developer involved, we would like to take a look at the aggregates that have the error.
So for each of these aggregates, do the following. Since you got an error on 18984687, I'll use that as an example:
1) show aggr 0 18984687
2) show bfo 18984687
The volume or volumes displayed at the end of this output is the most interesting part.
3) From a DB2 CLP session, connect to the database, and set the schema, then run the following SQL queries
a) db2 select bfid, poolid, numsegs, deleted from df_bitfiles
b) db2 select bfid, poolid, numsegs, deleted from af_bitfiles
c) db2 select bfid, superbfid from bf_aggregated_bitfiles where superbfid=18984687
d) db2 select superbfid from bf_aggregate_attributes where superbfid=18984687
The above step is an example, you will have to run these steps for the following aggregates values which I extracted for the last actlog you provided on 22nd April.
aggregate 20839005
aggregate 17882363
aggregate 17883214
aggregate 18984687
aggregate 24711315
aggregate 25018525
aggregate 25684545
aggregate 25686837
aggregate 15214541
aggregate 19026749
aggregate 19809140
aggregate 27393788
aggregate 18452031
aggregate 18452822
aggregate 19359395
aggregate 19366237
aggregate 19358395
aggregate 19359395
aggregate 18747979
aggregate 18748235
aggregate 19510353
After we have the above outputs, we'll figure out the next step.
=================================================================
Do wykonania sql'i DB2 wykonałem polecenia:
C:\Program Files\Tivoli\TSM\db2\BIN>db2 -r c:\sel1.txt -tf c:\options.log
W pliku c:\options.log
----------------
!db2start;
connect to tsmdb1;
select bfid, poolid, numsegs, deleted from tsmdb1.df_bitfiles;
terminate;
----------------
Na potrzeby analizy środowiska powstało kilka skryptów:
=============
Wyświetla informacje o bitach DF
begining: tsmDFbitfile.cmd
=============
REM #
rem #######CONFIGURATION##################################################
rem #
rem #
rem #ustawiam zmienna nazwy pliku
for /f "Tokens=1-4 Delims=- " %%i in ('date /t') do (
set dt=%%i-%%j-%%k
)
rem #"C:\Program Files\Tivoli\TSM\baclient\dsmadmc.exe" -se=10.101.110.150 -id=admin
rem # Application path
set APPPATH="%ProgramFiles%\Tivoli\TSM\baclient\dsmadmc.exe"
rem # Application path dir
set APPPATHDIR="%ProgramFiles%\Tivoli\TSM\baclient\"
rem
rem Application options
set APPOPT=-se=10.10.10.150 -id=admin -password=*****
rem #0
rem # Filename for show aggr
set S=K:\%dt%S.txt
rem #
rem #1
rem # Filename for show bfo
set bfo=K:\%dt%bfo.txt
rem #
rem #5 Filename with printable report
set REPORTPRINT=K:\%dt%REPORTPRINT.txt
rem #
rem #End of configuration. Do not edit lines below.
rem ######################################################################
for %%z in (18984687 17882363 17883214 24711315 25018525 25684545 25686837 15214541 19026749 19809140 27393788 18452031 18452822 19359395 19366237 19358395 19359395 18747979 18748235 19510353) do (
rem #0 Do show aggr for specified id's
cd %APPPATHDIR%
%APPPATH% %APPOPT% -outfile=%S% show aggr 0 %%z
type %S% >> %REPORTPRINT%
rem #1 Do show bfo for specified id's
cd %APPPATHDIR%
%APPPATH% %APPOPT% -outfile=%bfo% show bfo %%z
type %bfo% >> %REPORTPRINT%
)
rem join files to output print file
rem type %SCHEDULE% >> %REPORTPRINT%
rem print /D:\\spoler01\c099 %REPORTPRINT%
notepad.exe %REPORTPRINT%
rem delete all tmp files
del %S% %REPORTPRINT% %SCHEDULE% %tmp%\%dt%yesterday.txt
=============
end: tsmDFbitfile.cmd
=============
=============
begining: DB2DFbitfile.cmd
=============
REM script to report some important administrative
rem #######CONFIGURATION##################################################
rem #
rem #
rem #ustawiam zmienna nazwy pliku
for /f "Tokens=1-4 Delims=- " %%i in ('date /t') do (
set dt=%%i-%%j-%%k
)
rem #" db2cmd -c -w -i db2 -td@ -fInputFile
rem # Application path
set APPPATH="%ProgramFiles%\Tivoli\TSM\db2\BIN\DB2cmd.exe" -c -w -i DB2SETCP.BAT db2.exe
rem # Application path dir
set APPPATHDIR="%ProgramFiles%\Tivoli\TSM\db2\BIN\"
rem
rem #0
rem # Filename for select statement1
set S=F:\DVD\%dt%S.txt
rem #
rem #1
rem # Filename for select statement2
set ss=F:\DVD\%dt%ss.txt
rem #
rem #5 Filename with printable report1
set REPORTPRINT1=F:\DVD\%dt%REPORTPRINT1.txt
rem #5 Filename with printable report2
set REPORTPRINT2=F:\DVD\%dt%REPORTPRINT2.txt
rem #
rem #End of configuration. Do not edit lines below.
rem ######################################################################
for %%z in (18984687 17882363 17883214 24711315 25018525 25684545 25686837 15214541 19026749 19809140 27393788 18452031 18452822 19359395 19366237 19358395 19359395 18747979 18748235 19510353) do (
rem #0 Do select1 for specified id's
cd %APPPATHDIR%
echo !db2start;> f:\dvd\options.txt
echo connect to tsmdb1;>> f:\dvd\options.txt
echo select bfid, superbfid from tsmdb1.bf_aggregated_bitfiles where superbfid=%%z;
>> f:\dvd\options.txt
echo terminate;>> f:\dvd\options.txt
%APPPATH% -r %s% -tf f:\dvd\options.txt
type %s% >> %REPORTPRINT1%
rm %s%
rem #1 Do select2 for specified id's
cd %APPPATHDIR%
echo !db2start;> f:\dvd\options2.txt
echo connect to tsmdb1;>> f:\dvd\options2.txt
echo select superbfid from tsmdb1.bf_aggregate_attributes where superbfid=%%z;
>> f:\dvd\options2.txt
echo terminate;>> f:\dvd\options2.txt
%APPPATH% -r %ss% -tf f:\dvd\options2.txt
type %ss% >> %REPORTPRINT2%
rm %ss%
)
rem join files to output print file
rem type %SCHEDULE% >> %REPORTPRINT%
rem print /D:\\spoler01\c099 %REPORTPRINT%
notepad.exe %REPORTPRINT1%
notepad.exe %REPORTPRINT2%
rem delete all tmp files
del %S% %ss% %REPORTPRINT1% %REPORTPRINT2% %SCHEDULE% %tmp%\%dt%yesterday.txt
=============
end: DB2DFbitfile.cmd
=============
poniedziałek, 5 kwietnia 2010
install JRE as MSI package
To find the install for tweaking:
1. Run the exe, that is it, do not click accept!
2. look in %APPDATA%\Sun\Java\jre1.6.0_11
3. Copy the files to where ever.
4. Cancel the install
5. run the newly discovered msi.
6. Test Java
7. Enjoy!
1. Run the exe, that is it, do not click accept!
2. look in %APPDATA%\Sun\Java\jre1.6.0_11
3. Copy the files to where ever.
4. Cancel the install
5. run the newly discovered msi.
6. Test Java
7. Enjoy!
How to Manually Remove VMware Tools
Even an uninstall doesn’t always work so unfortunately you’ll have to revert to to manually removing the items from the registry and file system that are stopping a new install from taking place.
The process to resolve this is simple and the following has been taken from VMware’s Knowledge Base article here. I found that performing these steps helped resolve this problem for me.
Open the Windows Registry editor. Click Start > Run.
Type regedit press Enter.
Browse to HKLM \Software\Microsoft\Windows\CurrentVersion\uninstall. Search for the branch with a key named DisplayName and has a value of VMware Tools . Delete the branch associated with that entry. Do not delete the entire uninstall branch.
Browse to HKLM\Software\Classes\Installer\Products . Search for the branch with the key named ProductName and has a value of VMware Tools . Delete the branch associated with that entry.
Browse to HKEY_CLASSES_ROOT\Installer\Products . Search for the branch with the key named ProductName and has a value of VMware Tools . Delete the branch associated with that entry.
Browse to HKLM \Software\VMware. Delete the branch called VMware Tools .
Ensure the folder located in %ProgramFiles%\VMware\VMware Tools is deleted.
Attempt to install the new version of VMware Tools, if applicable
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1001354
The process to resolve this is simple and the following has been taken from VMware’s Knowledge Base article here. I found that performing these steps helped resolve this problem for me.
Open the Windows Registry editor. Click Start > Run.
Type regedit press Enter.
Browse to HKLM \Software\Microsoft\Windows\CurrentVersion\uninstall. Search for the branch with a key named DisplayName and has a value of VMware Tools . Delete the branch associated with that entry. Do not delete the entire uninstall branch.
Browse to HKLM\Software\Classes\Installer\Products . Search for the branch with the key named ProductName and has a value of VMware Tools . Delete the branch associated with that entry.
Browse to HKEY_CLASSES_ROOT\Installer\Products . Search for the branch with the key named ProductName and has a value of VMware Tools . Delete the branch associated with that entry.
Browse to HKLM \Software\VMware. Delete the branch called VMware Tools .
Ensure the folder located in %ProgramFiles%\VMware\VMware Tools is deleted.
Attempt to install the new version of VMware Tools, if applicable
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1001354
UPS Powerware 5125 na linuxie - problem z instalacją.
podczas instalacji klienta UPSa powerware netwatch
instalator zgłaszał błąd wersji libc - „Your Libc version is not supported.”
Rozwiązanie
w skrypcie install.sh zmieniłem
case $7 in
2.3.)
case $7 in
2.3.0)
system=linux_i386
os_type=Linux (x86), Libc 2.3.x
;;
2.3.1)
system=linux_i386
os_type=Linux (x86), Libc 2.3.x
;;
2.3.2)
system=linux_i386
os_type=Linux (x86), Libc 2.3.x
;;
2.3.3)
system=linux_i386
os_type=Linux (x86), Libc 2.3.x
;;
)
os_type=Linux (x86), Libc 2.3.4 or higher
system=linux_el4
;;
esac
;;
2.4.)
os_type=Linux (x86), Libc 2.3.4 or higher
system=linux_el4
;;
2.4)
os_type=Linux (x86), Libc 2.3.4 or higher
system=linux_el4
;;
2.5)
os_type=Linux (x86), Libc 2.3.4 or higher
system=linux_el4
;;
2.9)
os_type=Linux (x86), Libc 2.3.4 or higher
system=linux_el4
;;
)
INSTALL_ERR_MSG=
INSTALL_ERR_MSG= Your Libc version is not supported.
;;
esac
Po dodaniu weryfikacji biblioteki w wersji 2.9* - instalator poprawnie przechodzi dalej.
instalator zgłaszał błąd wersji libc - „Your Libc version is not supported.”
Rozwiązanie
w skrypcie install.sh zmieniłem
case $7 in
2.3.)
case $7 in
2.3.0)
system=linux_i386
os_type=Linux (x86), Libc 2.3.x
;;
2.3.1)
system=linux_i386
os_type=Linux (x86), Libc 2.3.x
;;
2.3.2)
system=linux_i386
os_type=Linux (x86), Libc 2.3.x
;;
2.3.3)
system=linux_i386
os_type=Linux (x86), Libc 2.3.x
;;
)
os_type=Linux (x86), Libc 2.3.4 or higher
system=linux_el4
;;
esac
;;
2.4.)
os_type=Linux (x86), Libc 2.3.4 or higher
system=linux_el4
;;
2.4)
os_type=Linux (x86), Libc 2.3.4 or higher
system=linux_el4
;;
2.5)
os_type=Linux (x86), Libc 2.3.4 or higher
system=linux_el4
;;
2.9)
os_type=Linux (x86), Libc 2.3.4 or higher
system=linux_el4
;;
)
INSTALL_ERR_MSG=
INSTALL_ERR_MSG= Your Libc version is not supported.
;;
esac
Po dodaniu weryfikacji biblioteki w wersji 2.9* - instalator poprawnie przechodzi dalej.
Jak wyświetlić ukryte/usunięte urządzenia systemowe w windows
W cmd wpisujemy zmienną DEVMGR_SHOW_NONPRESENT_DEVICES=1
Następnie w menarzerze urządzeń usuwamy wyszarzone nieistniejące już urządzenia.
Następnie w menarzerze urządzeń usuwamy wyszarzone nieistniejące już urządzenia.
vSphere 4.0 skrypty administracyjne
Wiele ciekawych skryptów pomagających w administracji środowiskiem vmware można zlaleźć tu:
http://engineering.ucsb.edu/~duonglt/vmware/
http://engineering.ucsb.edu/~duonglt/vmware/
niedziela, 31 stycznia 2010
Debian - Konfiguracja UPSa ORVALDI
Poniżej przedstawiono procedurę instalacji i konfiguracji oprogramowania do obsługi UPSa ORVALDI.
Procedura będzie wyglądać identycznie dla innych UPSów, jednak należało będzie wybrać odpowiedni sterownik podczas konfiguracji.
Producent (www.orvaldi.com) zaleca użycie swojego oprogramowania, jednak nie działa ono prawidłowo. Możemy jednak wykorzystać oprogramowanie NUT - Network UPS Tools - dostępne na stronie http://www.networkupstools.org/.
W dystrybucji debiana zadbano jednak o przygotowania odpowiednich pakietów deb, dlatego instalacja sprowadza się do zaznaczenia pakietu do instalacji i konfiguracji.
A więc po koleji:
sudo apt-get install nut
Następnie sprawdzamy czy podczas instalacji został utworzony użytkownik i grupa nut.
Jeżeli tak to przechodzimy do kolejnego kroku, tworzymy plik konfiguracyjny /etc/nut/ups.conf
#/etc/nut/ups.conf
[ORVALDI]
driver = megatec
port = /dev/ttyS0
Jeżeli UPS podpięty jest pod port COM2 należy wybrać /dev/ttyS1.
Pełna lista wspieranych urządzeń znajdziemy tu:
NUT hardware compatibility list
Następnie tworzymy plik /etc/udev/rules.d/99_nut-serialups.rules
# /etc/udev/rules.d/99_nut-serialups.rules
KERNEL=="ttyS0", GROUP="nut"
i wykonujemy zlecenia aby zastosować zmiany :
sudo udevadm control --reload_rules
sudo udevadm trigger
Wywołanie tych zleceń spowoduje ustawienie odpowiednich uprawnień do urządzenia dla usera nut.
W następnym kroku sprawdzamy czy nut poprawnie komunikuje się z UPSem. Powinniśmy otrzymać komunikat podobny do tego:
sudo upsdrvctl start
Network UPS Tools - UPS driver controller 2.2.2
Network UPS Tools 2.2.2 - Megatec protocol driver 1.5.14 [megatec]
Carlos Rodrigues (c) 2003-2008
Megatec protocol UPS detected.
W dalszej części wykonujemy konfigurację upsd oraz upsmon.
Tworzymy pliki konfiguracyjne:
# /etc/nut/upsd.conf
ACL all 0.0.0.0/0
ACL localhost 127.0.0.1/32
ACCEPT localhost
REJECT all
# /etc/nut/upsd.users
[local_mon]
password = PASSWORD_HERE
allowfrom = localhost
upsmon master
# /etc/nut/upsmon.conf
MONITOR ORVALDI@localhost 1 local_mon PASSWORD_HERE master
MINSUPPLIES 1
POWERDOWNFLAG /etc/killpower
SHUTDOWNCMD "/sbin/shutdown -h now"
NOTIFYCMD /sbin/upssched
gdzie ORVALDI to wcześniej wybrana nazna UPSa a local_mon to nazwa użytkownika. Pamiętaj o użycju silnego hasła w przypadku wykorzystania komputera z podłączonym UPSem jako shutdown servera.
Ze względów bezpieczeństwa tylko root i user nut powinni mieć możliwość czytania plików konfiguracyjnych ponieważ jest w nich zapisane hasło!.
Ustawiamy zatem odpowiednie uprawnienia do plików w katalogu /etc/nut
sudo chown root:nut /etc/nut/*
sudo chmod 640 /etc/nut/*
Na sam koniec modyfikujemy ustawienia domyślne tak aby upsd oraz upsmon uruchamiały się podczas startu systemu.
# /etc/default/nut
START_UPSD=yes
START_UPSMON=yes
I startujemy serwis
sudo /etc/init.d/nut start
Możemy sprawdzić statystyki naszego UPSa wydając zlecenie:
upsc ORVALDI
battery.charge: 92.5
battery.voltage: 13.40
battery.voltage.nominal: 12.0
driver.name: megatec
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/ttyS0
driver.version: 2.2.2
driver.version.internal: 1.5.14
input.frequency: 50.1
input.frequency.nominal: 50.0
input.voltage: 221.6
input.voltage.fault: 221.6
input.voltage.maximum: 224.0
input.voltage.minimum: 215.0
input.voltage.nominal: 230.0
output.voltage: 227.8
ups.beeper.status: enabled
ups.delay.shutdown: 0
ups.delay.start: 2
ups.load: 50.0
ups.mfr: unknown
ups.model: unknown
ups.serial: unknown
ups.status: OL
ups.temperature: 25.0
ups.type: standby
W domyślnej konfiguracji upsmon będzie zatrzymywał system w sytuacji gdy UPS wyśle sygnał Low batery. Jeżeli jednak chcemy aby pozostałe monitorowane stacje wyłączyły się np po 5 minutach od zaniku zasilania należy dodatkowo zainteresować się upssched.conf
/ etc/nut/upssched.conf
CMDSCRIPT /usr/local/bin/upssched-cmd
PIPEFN /var/run/upssched/upssched.pipe
LOCKFN /var/run/upssched/upssched.lock
AT ONBATT * START-TIMER early-shutdown 30
AT LOWBATT * START-TIMER early-shutdown 30
AT ONLINE * CANCEL-TIMER resume
AT ONLINE * EXECUTE resume
AT FSD * EXECUTE forced-shutdown
Po skonfigurowaniu upssched.conf musimy stworzyć skrypt upssched-cmd który zajmie się zamknięciem systemu po określonym czasie lub przerwie zamykanie gdy powróci zasilanie.
skrypt upssched-cmd wygląda następująco:
# /usr/local/bin/upssched-cmd
#!/bin/bash
# time in minutes
time=5
case "${1}" in
early-shutdown)
logger -t upssched-cmd "Early Shutdown"
shutdown -h +$time powerevent
;;
resume)
logger -t upssched-cmd "Resume"
[ -f /var/run/shutdown.pid ] && shutdown -c || exit 0
;;
forced-shutdown)
logger -t upssched-cmd "Forced Shutdown"
shutdown -h +$time powerevent-forced
;;
*)
logger -t upssched-cmd "Unknown command: ${1}"
;;
esac
Aby wszystko działało poprawnie należy jeszcze w BIOSie komputera ustawić aby startował po awarii zasilania, wtedy po powrocie zasilania system zacznie startować.
Procedura będzie wyglądać identycznie dla innych UPSów, jednak należało będzie wybrać odpowiedni sterownik podczas konfiguracji.
Producent (www.orvaldi.com) zaleca użycie swojego oprogramowania, jednak nie działa ono prawidłowo. Możemy jednak wykorzystać oprogramowanie NUT - Network UPS Tools - dostępne na stronie http://www.networkupstools.org/.
W dystrybucji debiana zadbano jednak o przygotowania odpowiednich pakietów deb, dlatego instalacja sprowadza się do zaznaczenia pakietu do instalacji i konfiguracji.
A więc po koleji:
sudo apt-get install nut
Następnie sprawdzamy czy podczas instalacji został utworzony użytkownik i grupa nut.
Jeżeli tak to przechodzimy do kolejnego kroku, tworzymy plik konfiguracyjny /etc/nut/ups.conf
#/etc/nut/ups.conf
[ORVALDI]
driver = megatec
port = /dev/ttyS0
Jeżeli UPS podpięty jest pod port COM2 należy wybrać /dev/ttyS1.
Pełna lista wspieranych urządzeń znajdziemy tu:
NUT hardware compatibility list
Następnie tworzymy plik /etc/udev/rules.d/99_nut-serialups.rules
# /etc/udev/rules.d/99_nut-serialups.rules
KERNEL=="ttyS0", GROUP="nut"
i wykonujemy zlecenia aby zastosować zmiany :
sudo udevadm control --reload_rules
sudo udevadm trigger
Wywołanie tych zleceń spowoduje ustawienie odpowiednich uprawnień do urządzenia dla usera nut.
W następnym kroku sprawdzamy czy nut poprawnie komunikuje się z UPSem. Powinniśmy otrzymać komunikat podobny do tego:
sudo upsdrvctl start
Network UPS Tools - UPS driver controller 2.2.2
Network UPS Tools 2.2.2 - Megatec protocol driver 1.5.14 [megatec]
Carlos Rodrigues (c) 2003-2008
Megatec protocol UPS detected.
W dalszej części wykonujemy konfigurację upsd oraz upsmon.
Tworzymy pliki konfiguracyjne:
# /etc/nut/upsd.conf
ACL all 0.0.0.0/0
ACL localhost 127.0.0.1/32
ACCEPT localhost
REJECT all
# /etc/nut/upsd.users
[local_mon]
password = PASSWORD_HERE
allowfrom = localhost
upsmon master
# /etc/nut/upsmon.conf
MONITOR ORVALDI@localhost 1 local_mon PASSWORD_HERE master
MINSUPPLIES 1
POWERDOWNFLAG /etc/killpower
SHUTDOWNCMD "/sbin/shutdown -h now"
NOTIFYCMD /sbin/upssched
gdzie ORVALDI to wcześniej wybrana nazna UPSa a local_mon to nazwa użytkownika. Pamiętaj o użycju silnego hasła w przypadku wykorzystania komputera z podłączonym UPSem jako shutdown servera.
Ze względów bezpieczeństwa tylko root i user nut powinni mieć możliwość czytania plików konfiguracyjnych ponieważ jest w nich zapisane hasło!.
Ustawiamy zatem odpowiednie uprawnienia do plików w katalogu /etc/nut
sudo chown root:nut /etc/nut/*
sudo chmod 640 /etc/nut/*
Na sam koniec modyfikujemy ustawienia domyślne tak aby upsd oraz upsmon uruchamiały się podczas startu systemu.
# /etc/default/nut
START_UPSD=yes
START_UPSMON=yes
I startujemy serwis
sudo /etc/init.d/nut start
Możemy sprawdzić statystyki naszego UPSa wydając zlecenie:
upsc ORVALDI
battery.charge: 92.5
battery.voltage: 13.40
battery.voltage.nominal: 12.0
driver.name: megatec
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/ttyS0
driver.version: 2.2.2
driver.version.internal: 1.5.14
input.frequency: 50.1
input.frequency.nominal: 50.0
input.voltage: 221.6
input.voltage.fault: 221.6
input.voltage.maximum: 224.0
input.voltage.minimum: 215.0
input.voltage.nominal: 230.0
output.voltage: 227.8
ups.beeper.status: enabled
ups.delay.shutdown: 0
ups.delay.start: 2
ups.load: 50.0
ups.mfr: unknown
ups.model: unknown
ups.serial: unknown
ups.status: OL
ups.temperature: 25.0
ups.type: standby
W domyślnej konfiguracji upsmon będzie zatrzymywał system w sytuacji gdy UPS wyśle sygnał Low batery. Jeżeli jednak chcemy aby pozostałe monitorowane stacje wyłączyły się np po 5 minutach od zaniku zasilania należy dodatkowo zainteresować się upssched.conf
/ etc/nut/upssched.conf
CMDSCRIPT /usr/local/bin/upssched-cmd
PIPEFN /var/run/upssched/upssched.pipe
LOCKFN /var/run/upssched/upssched.lock
AT ONBATT * START-TIMER early-shutdown 30
AT LOWBATT * START-TIMER early-shutdown 30
AT ONLINE * CANCEL-TIMER resume
AT ONLINE * EXECUTE resume
AT FSD * EXECUTE forced-shutdown
Po skonfigurowaniu upssched.conf musimy stworzyć skrypt upssched-cmd który zajmie się zamknięciem systemu po określonym czasie lub przerwie zamykanie gdy powróci zasilanie.
skrypt upssched-cmd wygląda następująco:
# /usr/local/bin/upssched-cmd
#!/bin/bash
# time in minutes
time=5
case "${1}" in
early-shutdown)
logger -t upssched-cmd "Early Shutdown"
shutdown -h +$time powerevent
;;
resume)
logger -t upssched-cmd "Resume"
[ -f /var/run/shutdown.pid ] && shutdown -c || exit 0
;;
forced-shutdown)
logger -t upssched-cmd "Forced Shutdown"
shutdown -h +$time powerevent-forced
;;
*)
logger -t upssched-cmd "Unknown command: ${1}"
;;
esac
Aby wszystko działało poprawnie należy jeszcze w BIOSie komputera ustawić aby startował po awarii zasilania, wtedy po powrocie zasilania system zacznie startować.
Subskrybuj:
Komentarze (Atom)