SAN tanim kosztem#

Jak zawsze Linux wypuścił się do przodu, iu teraz za pomocą http://iscsitarget.sourceforge.net/ moze emulować SAN po iSCSI. Co to daje windowsom? To ze korzystając z Inicjatora microsoftu http://www.microsoft.com/downloads/details.aspx?FamilyID=12cb3c1a-15d6-4585-b385-befd1319f825&DisplayLang=en mozna podpiąć dysk stworzony na linuksie do serwera. Taki dysk będzie widoczny w windowsach jako typowy dysk SCSI, ktory mozna podzielić na partycję, sformatować, i zrobić wszystko co się chcę.

 Po stronie Linuxemy jako iSCSI wyeksportować dowolnę urządzenie - np. macierz RAID5, lub LVM.Co zapewnia nam wszystie mozliwośći typowych SANów - min. snapshoty.

Jeśliu chodzi o wydajność to iSCSI kładzie na łopatki typowe rozwiązania typu NAS(tj. eksportujące po CIFS lub NFS), szczególnie w przypadku małych plików(programy pocztowe), czy dostępu niesekwencyjnego(jak w bazach danych). Artykuł o wydajności: http://www.technomagesinc.com/papers/ip_paper.html

Jedyną wadą iSCSI, a dokładniej systemów plików, jest brak mechanizu blokad, co kieruję to rozwiązanie raczej dla serwerów, a nie dla zwykłych uzytkowników.

Thursday, December 29, 2005 4:08:18 PM (Central European Standard Time, UTC+01:00) #    Comments [0]  |  Trackback

 

ABE#

Access Based Enumeration - czyli wyświetlanie tylko tych sharów, do których uzytkownik ma dostęp. Funkcjonalność ta poidobnie jak SSAPI jest wbudowana w windowsy 2003, ale brakuję do niej standardowo interfejsu. Na szczęście Microsoft naprawił ten błąd :  http://www.microsoft.com/downloads/details.aspx?FamilyId=04A563D9-78D9-4342-A485-B030AC442084&displaylang=en

Thursday, December 29, 2005 3:54:09 PM (Central European Standard Time, UTC+01:00) #    Comments [0]  |  Trackback

 

SFU cd#

Jak zawsze zapomnialem ze pole memberOf nie uwzględnia primary group. Ponizej znajduję się poprawiony skrypt:

 

ON ERROR RESUME NEXT
Const ADS_PROPERTY_APPEND = 3
Const ADS_PROPERTY_CLEAR = 1
i=0
Set adoConnection = CreateObject("ADODB.Connection")
adoConnection.Provider = "ADsDSOObject"
adoConnection.Open ""
If adoConnection.State <> 1 Then
Wscript.echo "Creating ADO connection: Authentication Failed."
else
Wscript.echo "connection opened: "&adoConnection.state&vbCrLf
End If

'prepare command to execute
Set adoCmd = CreateObject("ADODB.Command")
Set adoCmd.ActiveConnection = adoConnection
adoCmd.Properties("Page Size") = 4000
adoCmd.CommandText = "<LDAP://DC=pjwstk,DC=edu,DC=pl>;(ObjectCategory=Group);ADsPath,msSFU30Name;SubTree"
'execute query
Set adoRecordset = adoCmd.Execute


Wscript.echo adoRecordset.RecordCount & " records found."
Wscript.echo "debug err status: "&err.number

'clear all groups from users

While Not adoRecordset.EOF
        If not isNull(adoRecordset.Fields("msSFU30Name").Value) then
         Wscript.echo adoRecordset.Fields("ADsPath").Value
         Set objGroupPosix = GetObject (adoRecordset.Fields("ADsPath").Value)
     objGroupPosix.GetInfo
     objGroupPosix.PutEx ADS_PROPERTY_CLEAR, "msSFU30PosixMember", 0
objGroupPosix.SetInfo
        end if
adoRecordset.MoveNext
Wend

adoCmd.CommandText = "<LDAP://DC=pjwstk,DC=edu,DC=pl>;(ObjectCategory=User);distinguishedName,msSFU30NISDomain,Name;SubTree"
'execute query
Set adoRecordset = adoCmd.Execute
Wscript.echo adoRecordset.RecordCount & " records found."
Wscript.echo "debug err status: "&err.number
i=0
While Not adoRecordset.EOF
if not isNull( adoRecordset.Fields("msSFU30NISDomain").Value ) then
strUserNTName=adoRecordset.Fields("Name").Value
strUserNTDN=adoRecordset.Fields("distinguishedName").Value
valid=1
wscript.echo strUserNTName&" "&i

'loop throught user by strUserNTName
Dim objUserWinNT, intGroupID, strFilter, strAttributes, objRootDSE
Dim strDNSDomain, objConnection, objCommand, strQuery, objRecordSet
Dim intGroupToken, strGroupName, strUserNTName, objGroup

' Bind to the user object with the WinNT provider.

Set objUserWinNT = GetObject("WinNT://PJWSTK/" & strUserNTName & ",user")
If Err.Number <> 0 Then
valid=0
Err.Number=0
End If
if (valid=1) then
' Search for groups the user is a member of.
strFilter = "(|"
For Each objGroup in objUserWinNT.Groups
strFilter = strFilter & "(sAMAccountName=" & objGroup.name & ")"
Next
strFilter = strFilter & ")"
strAttributes = "sAMAccountName,distinguishedName,msSFU30PosixMember"

' Determine DNS domain name from the RootDSE object.
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("defaultNamingContext")

' Use ADO to search Active Directory for the groups.
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection

strQuery = "<LDAP://" & strDNSDomain & ">;" & strFilter & ";" & strAttributes & ";subtree"
objCommand.CommandText = strQuery
objCommand.Properties("Page Size") = 100
objCommand.Properties("Timeout") = 30
objCommand.Properties("Cache Results") = False

Set objRecordSet = objCommand.Execute
If objRecordSet.EOF Then
Wscript.Echo "No Primary Group found"
objConnection.Close
Set objUserWinNT = Nothing
Set objRootDSE = Nothing
Set objConnection = Nothing
Set objCommand = Nothing
Set objRecordSet = Nothing
End If

' Enumerate the groups the user is a member of
Do Until objRecordSet.EOF
Set objGroupPosix = GetObject("LDAP://"&objRecordSet.Fields("distinguishedName"))
     objGroupPosix.GetInfo
     if (objGroupPosix.msSFU30Name<>"") then
objGroupPosix.PutEx ADS_PROPERTY_APPEND, "msSFU30PosixMember",Array(strUserNTDN)
objGroupPosix.SetInfo
end if
objRecordSet.MoveNext
Loop

' Clean up.
objConnection.Close
Set objUserWinNT = Nothing
Set objRootDSE = Nothing
Set objConnection = Nothing
Set objCommand = Nothing
Set objRecordSet = Nothing
i = i+1
end if
end if
adoRecordset.MoveNext
Wend
Wscript.echo i

Friday, December 09, 2005 8:53:28 PM (Central European Standard Time, UTC+01:00) #    Comments [0]  |  Trackback

 

SFU adding Group Membership Info#

 Aby dobrze mapowały się podgrupy w *IXach,trzeba dodać uzytkowników do odpowiednich grup NISowych. W tym celu nalezy dla kazdej grupy ktora powinna być mapowana dodać odpowiedni GUID , na zakładce UNIX ATTRIBUTES w Active Directory,a następnie odpalić ponizszy skrypt który zmapuje uzytkowników:


Const ADS_PROPERTY_APPEND = 3
Const ADS_PROPERTY_CLEAR = 1

Set adoConnection = CreateObject("ADODB.Connection")
adoConnection.Provider = "ADsDSOObject"
adoConnection.Open ""
If adoConnection.State <> 1 Then
Wscript.echo "Creating ADO connection: Authentication Failed."
else
Wscript.echo "connection opened: "&adoConnection.state&vbCrLf
End If

'prepare command to execute
Set adoCmd = CreateObject("ADODB.Command")
Set adoCmd.ActiveConnection = adoConnection
adoCmd.Properties("Page Size") = 4000
adoCmd.CommandText = "<LDAP://DC=pjwstk,DC=edu,DC=pl>;(ObjectCategory=Group);ADsPath,Name;SubTree"
'execute query
Set adoRecordset = adoCmd.Execute


Wscript.echo adoRecordset.RecordCount & " records found."
Wscript.echo "debug err status: "&err.number



While Not adoRecordset.EOF
Set objGroupPosix = GetObject (adoRecordset.Fields("ADsPath").Value)
     objGroupPosix.GetInfo
     objGroupPosix.PutEx ADS_PROPERTY_CLEAR, "msSFU30PosixMember", 0
objGroupPosix.SetInfo
arrMember = objGroupPosix.GetEx("Member")
objGroupPosix.PutEx ADS_PROPERTY_APPEND, "msSFU30PosixMember", arrMember
objGroupPosix.SetInfo
    Wscript.Echo adoRecordset.Fields("Name").Value
adoRecordset.MoveNext
Wend

Friday, December 09, 2005 1:57:23 PM (Central European Standard Time, UTC+01:00) #    Comments [0]  |  Trackback

 

Kilka przdatnych skryptow do monitorowania #


Poniżej wrzucam troszeczkę skryptów do mrtg do monitorowania zdalnych hostów: VBScripts.zip (7.17 KB)

Skrypty te monitorują interfejsy, pamięć,  vpn oraz dostępnośći ilość miejsca na dyskach.
Oczywiście inspiracją była stronka http://snmpboy.msft.net/

Przykładowy konfig mrtg-rrdtool z wykorzystaniem tych skryptów: mrtgrrd.zip (3.57 KB)

Do wizualicji służy 14-all.cgi,  oraz zbiorcze statystyki na zużycie pamięci, procesora, i łącza, oraz dostępność:rrdtool.zip (7.72 KB)

A Tak się to przedstawia:







Wednesday, December 07, 2005 8:43:11 PM (Central European Standard Time, UTC+01:00) #    Comments [0]  |  Trackback

 

JCREATOR LE#

   Jcreator LE nie działał w jednej sali. Oczywiście okazaqło się ze jest to sala 130, którą jak dotąd omijaliśmy szerokim łukiem jeśli chodzi o instalki, z tego powodu ze są tam zainstalowane wszystkie mozliwe programy do obróbki dźwięku i obrazu.

   Jcreator oczywiście odpala się, ale przypróbie skompilowania plików zawiesza się, a przy próbie odpalenia wyrzuca błąd i prosi okontakt z administratorem.

Szybka praca z filemonem i regmonem ujawiła ze winnym jest plik GE2001.exe, a problemem jest ustawienie permission na klucz HKLM\Software\Licences.

Co najgorsze , aplikacja wymaga uprawnień Create Subkey|Set Value|Delete. Na szczęscie rzadna inna aplikacja nie wykorzystuję tych kluczy.

Odpowiednie wpisy w rejestrze mozemy zmodifikować za pomocą subinacl z Reskita:

 

subinacl /subkeyreg \\Lab130-11\HKEY_LOCAL_MACHINE\Software\Licenses /grant="PJWSTK\Domain Users"=F /noverbose /display

Wednesday, December 07, 2005 7:57:33 PM (Central European Standard Time, UTC+01:00) #    Comments [0]  |  Trackback

 

All content © 2010, Krzysztof Pietrzak
On this page
This site
Calendar
<July 2010>
SunMonTueWedThuFriSat
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567
Archives
Sitemap
Blogroll OPML
  Tokyo by night
blog WiTa
  W-Files
blog n€x¤Ra
 .:fotoblog:.
blog Kfaza
 \\archon\blog$
blog archona
 Czasowstrzymywacz
Blog Fookyego
 Jog Pstryka
Jog Pstryka
 Mac OS X vs. Active Directory
techniczny blog kfaza

Maps
Locations of visitors to this page