Přejít k obsahu webu
16.4.2019 / kaldy123

Storage Spaces Direct

nejdříve si uveďme několik pojmů:

  1. Storage Spaces na single serveru
  2. Storage Spaces na sdílených SCSI discích v rámci clusteru
  3. Storage Spaces Direct – označovaný též S2D – vytvoření Storage Spaces na DAS discích nodů. T.J. disky nejsou  sdílené ostaními nody clusteru, sdílení dat se koná mechanizmem v rámci clusteru. Pro Mirror potřebujete alespoň 2 nody, pro Three Way Mirror 3 nody, pro paritu alespoň 4, atd…
    Feature zavedená ve Windows Serveru 2016 (a výše).

Poté, co nainstalujete role/feature: Failover Cluster a File Server – zformujete failover cluster. Na jednom z nodů pak vytvoříte Storage Spaces Direct přes Powershell (graficky to asi nejde). Příkaz:

Enable-ClusterStorageSpacesDirect -CimSession "ClusterName" -PoolFriendlyName "StoragePoolName"

nebo ve zkrácené formě

Enable-ClusterS2D -CimSession "ClusterName" -PoolFriendlyName "StoragePoolName"

Ty příkazy mají vícero parametrů, ale jejich použití doporučuju nastudovat na Technetu. V Helpu mě zaskočil parametr -Cluster, ale věřte mi, takový tam není (alespoň v době psaní článku), já použil pro zadání NETBIOS jména clusteru parametr -CimSession.
VirtualDisk a Volume na něm si snadno zkonfigurujete z konzoly FileoverClusteru.

Higly Available sdílený disk máte vytvořen, a je na vás, pro jakou roli clusteru jej použijete – zda pro File Server, Scale-Out server nebo jako disk či úložiště pro virtuální stroj.

Zrušení Storage Spaces Direct provedete příkazem

Disable-ClusterStorageSpacesDirect -CimSession "ClusterName"

kde o parametrech -Cluster a -CimSession platí to samé co u Enable-ClusterS2D.

Za zmínku ještě stojí vyčištění disků – ClusterS2D je zanechá ve stavu, kdy přes Disk Management toho na nich moc nenakouzlíte. Na webu jsem našel hezký fragment PS kódu, který si v PS ISE snadno přizpůsobíte:

# Fill in these variables with your values
$ServerList = "Server01", "Server02", "Server03", "Server04"

Invoke-Command ($ServerList) {
    Update-StorageProviderCache
    Get-StoragePool | ? IsPrimordial -eq $false | Set-StoragePool -IsReadOnly:$false -ErrorAction SilentlyContinue
    Get-StoragePool | ? IsPrimordial -eq $false | Get-VirtualDisk | Remove-VirtualDisk -Confirm:$false -ErrorAction SilentlyContinue
    Get-StoragePool | ? IsPrimordial -eq $false | Remove-StoragePool -Confirm:$false -ErrorAction SilentlyContinue
    Get-PhysicalDisk | Reset-PhysicalDisk -ErrorAction SilentlyContinue
    Get-Disk | ? Number -ne $null | ? IsBoot -ne $true | ? IsSystem -ne $true | ? PartitionStyle -ne RAW | % {
        $_ | Set-Disk -isoffline:$false
        $_ | Set-Disk -isreadonly:$false
        $_ | Clear-Disk -RemoveData -RemoveOEM -Confirm:$false
        $_ | Set-Disk -isreadonly:$true
        $_ | Set-Disk -isoffline:$true
    }
    Get-Disk | Where Number -Ne $Null | Where IsBoot -Ne $True | Where IsSystem -Ne $True | Where PartitionStyle -Eq RAW | Group -NoElement -Property FriendlyName
} | Sort -Property PsComputerName, Count

Klíčová slova: Storage Spaces Direct, S2D

Reklamy
3.4.2019 / kaldy123

How to detect and recover from a USN rollback

Několik poznámek k Update Serial Number – pořadové číslo generace Active Directory.
Nevhodným restorem docílíte ztrátu několika generací úprav AD. (Související výrazy: Proč nebyla podporovaná virtualizace DC na serveru 2008, produkční snapshoty.)
https://support.microsoft.com/en-us/help/875495/how-to-detect-and-recover-from-a-usn-rollback-in-windows-server-2003-w

Nástroj:
repadmin /showutdvec DC1 dc=contoso,dc=com
repadmin /showutdvec DC2 dc=contoso,dc=com

2.4.2019 / kaldy123

DFSR nebo FRS?

Je to rychlejší, než v regeditu, ten klíč si zkopíruj dole.DFSR je, když jsou zvýrazněné hodnoty jako na obrázku (Migrating SysVols\Local State = 3).
Cokoliv jiného (např. neex. klíč) je FRS.

Klíč znakově:

HKLM:System\CurrentControlSet\Services\DFSR\Parameters\SysVols
2.4.2019 / kaldy123

Windows Server 2012R2 Minimal Interface

Proč minimal Interface? Je to lepší než Server Core – máte k dispozici Server Manager, skoro všechny grafické management nástroje, dokonce i takový Notepad Vám tam poběží…. Tak o co přij.dete?

Nemáte: File manager, Internet Explorer a Start menu. Nemáte nic a nelze doinstalovat nic z Desktop Experience.
Že Vám to nevadí? Že stejně používáte Total Commander a Google Chrome? No jo…

A co získáte? Microsoft tvrdí, že menší spotřebu disků (mohu potvrdit jen částečně – nutno provést PowerShellový příkaz Uninstal-WindowsFeature -Remove -Name Server-Gui-Shell ) a menší potřebu paměti (mohu potvrdit z vlastní zkušenosti).

Co získáte zcela určitě? Asi o 80% méně updatů a s nimi spojených restartů.

Tak co, líbí se Vám Minimal Inteface? K tomu jen dodám, že stejně jako v případě Server Core lze doinstalovat plný shell (nutno doinstalovat právě onu Feature Server-Gui-Shell) anebo stejně jako v případě plné instalace přejít na Server Core (Unistall-WindowsFeature -Name Server-Gui-Mgmt-Infra (-Remove)).

Tak se moc netěšte. Ve Windows 2016 není možný přechod mezi plnou grafickou a Core verzí, není žádný Minimal Interface… Prý nebyl zájem.

Hmm… jen tak na okraj. Na školení se tuto feature nedozvíte (anebo je Pan školitel frajer). Znám školení 20-410, 411 i 412 – v materiálech ni slóva. Já se to dozvěděl při nášprtu na jednu z certifikací. Tož vzpomínejte se mnou na starý dobrý W2012R2, až budete bojovat s W2016 či W2019.

26.3.2019 / kaldy123

Virtual NAT switch

Pozor: na Hyper-V hostiteli je podporován pouze 1 Virtual NAT Switch!!!
Po nakonfigurování více NAT-switchů se systém dostane do nedefinovaného stavu!!!

Ve Windows Server 2016 TechnicalPreview byla tato sqělá možnost i v grafickém interface. Opět některý z moudrých rozhodl, že uživatelé toto nepotřebují. Faktem je, že to potřebuje Docker. A snad proto zůstal pohrobek v PowerShellu. Pro testování – úžasné. Budu rád, pokud mi do komentáře napíšete další scénáře…

1. Výpis status quo na Hyper-V serveru:

2. Vytvoření internal switche

3. Zjistíme index adaptéru Hyper-V serveru v NAT síťce:
(oproti výpisu 1. přibyl jeden virtální adaptér, jméno snadno dohledáte (v závorce máte jméno switche)

4. a přiřadíme mu IP adresu (v rámci NAT síťky, bude to gateway síťky):

5. Z internal switche vytvoříme NAT switch:

Nezapomeň na přidělování adres v rámci NAT síťky: externí DHCP se tam nedostane!

23.2.2019 / kaldy123

Výpis disků – ConvertTo-Html …

Příkaz:

Get-Volume|Select-Object DriveLetter,`
@{n='Total GB';e={'{0,0:n2}' -f($_.Size/1GB)}},`
@{n='Remains GB';e={'{0,0:n2}' -f($_.SizeRemaining/1GB)}},DriveType|`
Sort driveletter| ConvertTo-Html -Head `
"<title>Vypisy disku</title><style>`
table {border: #00ff00 3px ridge; border-collapse:collapse} `
th {background-color:#C0FFC0;padding:3px} `
td {border:#00ff00 1px solid; text-align:center}</style>" `
-Body '<h1>Vypisy disku</h1>' |`
Out-File c:\getvolume.html

Vytvoří:

Poznámky:

  1. Chce to PS 5.0 – na W7 bez dalších úprav systému to nepoběží….
  2. Přímo na C-čko bez privilegíí (run as administrator) to neuložíte. Tak třeba n C:\X\….
  3. Ten styl by selbstverstandlich šel i přes externí css soubor …

Klíčová slova: powershell, fromátování, ConvertTo-Html, Out-File

22.2.2019 / kaldy123

Něco z MOC 10961

**********************
Windows PowerShell transcript start
Start time: 20190222214004
Configuration Name: 
Machine: . (Microsoft Windows NT 10.0.17134.0)
Host Application: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Process ID: 14696
PSVersion: 5.1.17134.590
PSEdition: Desktop
PSCompatibleVersions: 1.0, 2.0, 3.0, 4.0, 5.0, 5.1.17134.590
BuildVersion: 10.0.17134.590
CLRVersion: 4.0.30319.42000
WSManStackVersion: 3.0
PSRemotingProtocolVersion: 2.3
SerializationVersion: 1.1.0.1
**********************
Transcript started, output file is c:\transcript4.txt
PS C:\WINDOWS\system32> Invoke-Command -ComputerName hvHost `
 -ScriptBlock {Get-Vm|? state -eq running|`
 ft name,cpuusage,`
 @{n='memoryassigned';e={'{0,10:n2}' -f($_.memoryassigned/1GB)}},`
 @{n='days';e={'{0,3}' -f($_.uptime.days)}},`
 @{n='hours';e={"{0,0:hh}:{0,0:mm}" -f($_.uptime)}}}

Name       CPUUsage memoryassigned days hours
----       -------- -------------- ---- -----
BE20-BE           4       7,81       0  10:42
BE20-DC1          0       1,52       0  10:51
BE20-W2019        0       1,00       0  01:45
nanoQuorum        0       0,50      34  10:16
R420-W10          0       1,24       0  12:20
UBU-SRV2          0       1,28       7  10:57


PS C:\WINDOWS\system32> Invoke-Command -ComputerName comp `
 -ScriptBlock {Get-Volume|sort driveletter|`
 ft @{n='drive';e={'{0,3}'-f($_.driveletter)}},` 
 @{n='Size GB';e={'{0,7:n3}' -f($_.size/1GB)}},` 
 @{n='Remain GB';e={'{0,9:n3}' -f($_.SizeRemaining/1GB)}},`
 @{n='   type  ';e={'{0,7}' -f($_.drivetype)}}}

drive Size GB Remain GB    type
----- ------- --------- ---------
        0,536     0,160   Fixed
  C    44,176    29,184   Fixed
  D   839,813   115,741   Fixed
  E   488,281   461,619   Fixed
  F     0,000     0,000  CD-ROM
  H   465,759   465,526   Fixed


PS C:\WINDOWS\system32> Stop-Transcript
**********************
Windows PowerShell transcript end
End time: 20190222214225
**********************

klíčová slova: powershell , formátování , výpis VM , Výpis volumes