Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.
NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.
IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.
Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.
Právě teď si doma vytvářím důmslnný systém tenkého klienta, rozhodl jsem se odstranit všechny pevné disky ze svého PC a vše co půjde přesunout na nějaký server, který bude schovaný mimo a poběží stále.
V následujících dnech a týdnech sem popíšu moje řešení nejspíš do 2 dalších blogů, první o přechodu na nfs a druhý o vytvoření streamovacího serveru pro TV postaveného na VDR obsahující podrobný návod jak na to a zkušenosti s provozem. Dnes se však jen krátce zmíním o jiném typu sdílení disků a tím je protokol iSCSI.
Proč vlastně chtít protokol iSCSI, když už tu máme různé další způsoby sdílení disků jako NFS, či SAMBU (nebo CIFS), především je to proto, že tento protokol dovoluje sdílet celý disk jako jednotku a klient se k takovému disku chová jako ke svému vlastnímu, disk se po připojení ukáže jako /dev/sdXY.
A proč jsem ho potřeboval použít? Je to jednoduché, na NFS mi nefungoval ani SWAP a bohužel ani VMware server, který potřebuji ke své práci.
Jak tedy takový iSCSI target a initiator vlastně rozchodit?
Předopkládejme že na serveru máme nainstalovaný iSCSI Enterprise Target, pro mé účely jsem musel použít aktuální SVN verzi, protože stabilní verze nepodporuje novější kernely, a já potřeboval použít kernel 2.6.20.6. Pokud se vše povede zkompilovat a nainstalovat stačí spustit tento program příkazem
/etc/init.d/iscsi-targetpoté se vytvoří soubor /etc/ietd.conf, což je konfigurační soubor serveru ve kterém nastavíme sdílené disky. Můj konfigurační soubor vypadá takto, provedl jsem jen pár úprav pro zrychlení práce s diskem na sítích s vyšší propustností (používám 1Gbit síť):
# Example iscsi target configuration # # Everything until the first target definition belongs # to the global configuration. # Right now this is only the user configuration used # during discovery sessions. "IncomingUser" specifies credentials the # initiator has to provide - several of these are supported. If mutual # CHAP shall be employed, "OutgoingUser" specifies the user/pass # combination the target will provide - only one is supported. # Leave them alone (keep them commented out) if you don't want to use # authentication for discovery sessions. #iSNSServer 192.168.1.16 #iSNSAccessControl No #IncomingUser joe secret #OutgoingUser jack 12charsecret # Targets definitions start with "Target" and the target name. # The target name must be a globally unique name, the iSCSI # standard defines the "iSCSI Qualified Name" as follows: # # iqn.yyyy-mm.reversed domain name[:identifier] # # "yyyy-mm" is the date at which the domain is valid and the identifier # is freely selectable. For further details please check the iSCSI spec. Target iqn.2007-04.cz.server:storage.disk.sdb # Users, who can access this target. The same rules as for discovery # users apply here. # Leave them alone if you don't want to use authentication. IncomingUser mirek heslo55 #OutgoingUser # Logical Unit definition # You must define one logical unit at least. # Block devices, regular files, LVM, and RAID can be offered # to the initiators as a block device. Lun 0 Path=/dev/sdb,Type=fileio # Alias name for this target # Alias Test # various iSCSI parameters # (not all are used right now, see also iSCSI spec for details) #MaxConnections 1 InitialR2T No ImmediateData Yes MaxRecvDataSegmentLength 262144 MaxXmitDataSegmentLength 262144 MaxBurstLength 16776192 FirstBurstLength 262144 #MaxRecvDataSegmentLength 8192 #MaxXmitDataSegmentLength 8192 #MaxBurstLength 262144 #FirstBurstLength 65536 #DefaultTime2Wait 2 #DefaultTime2Retain 20 MaxOutstandingR2T 8 #DataPDUInOrder Yes #DataSequenceInOrder Yes #ErrorRecoveryLevel 0 #HeaderDigest CRC32C,None #DataDigest CRC32C,None # various target parameters Wthreads 8 Target iqn.2007-04.cz.server:storage.disk.sdd # Users, who can access this target. The same rules as for discovery # users apply here. # Leave them alone if you don't want to use authentication. IncomingUser mirek heslo55 #OutgoingUser jim 12charpasswd # Logical Unit definition # You must define one logical unit at least. # Block devices, regular files, LVM, and RAID can be offered # to the initiators as a block device. Lun 0 Path=/dev/sdd,Type=fileio # Alias name for this target # Alias Test # various iSCSI parameters # (not all are used right now, see also iSCSI spec for details) #MaxConnections 1 InitialR2T No ImmediateData Yes MaxRecvDataSegmentLength 262144 MaxXmitDataSegmentLength 262144 MaxBurstLength 16776192 FirstBurstLength 262144 #DefaultTime2Wait 2 #DefaultTime2Retain 20 MaxOutstandingR2T 8 #DataPDUInOrder Yes #DataSequenceInOrder Yes #ErrorRecoveryLevel 0 #HeaderDigest CRC32C,None #DataDigest CRC32C,None # various target parameters Wthreads 8po nastavení opět program restartujeme.
Na klientské části (tzv. initiator) musíme mít kernel s modulem
iscsi_tcpa nainstalovaný program open-iscsi (v Debianu se jedná o balíček se stejným názvem). Není třeba dopředu spouštět žádnou službu. Nejprve projdeme daný server a podíváme se co nabízí za disky příkazem
iscsiadm -m discovery -t st -p IP_ADRESAtento příkaz u mě zobrazil následující výpis:
10.93.49.250:3260,1 iqn.2007-04.cz.server:storage.disk.sdb 10.93.49.250:3260,1 iqn.2007-04.cz.server:storage.disk.sddpokud jsme použili jméno a heslo pro přihlašování, tak připojíme disk následující sérií příkazů:
iscsiadm -m node -T iqn.2007-04.cz.server:storage.disk.sdb -p 10.93.49.250:3260 --op=update --name=node.session.auth.authmethod --value=CHAP iscsiadm -m node -T iqn.2007-04.cz.server:storage.disk.sdb -p 10.93.49.250:3260 --op=update --name=node.session.auth.username --value=mirek iscsiadm -m node -T iqn.2007-04.cz.server:storage.disk.sdb -p 10.93.49.250:3260 --op=update --name=node.session.auth.password --value=heslo55Toť v základu vše, disk se připojí většinou do /dev/sda pokud tedy v PC už nějaký scsi, nebo sata disk nemáte. Po restartu by se disky měly znovu připojit.
rychlost čtení pomocí hdparm
hdparm -tT /dev/sda1 (disk na klientovi) /dev/sda1: Timing cached reads: 3050 MB in 2.00 seconds = 1524.74 MB/sec Timing buffered disk reads: 178 MB in 3.01 seconds = 59.07 MB/sec
hdparm -tT /dev/sdb1 (disk na serveru) /dev/sdb1: Timing cached reads: 1560 MB in 2.00 seconds = 779.39 MB/sec Timing buffered disk reads: 238 MB in 3.02 seconds = 78.91 MB/secrychlost zápisu pomocí dd
dd if=/dev/zero of=soubor6 count=400000 (klient) 400000+0 records in 400000+0 records out 204800000 bytes (205 MB) copied, 2,28154 seconds, 89,8 MB/s
dd if=/dev/zero of=soubor count=400000 (server) 400000+0 records in 400000+0 records out 204800000 bytes (205 MB) copied, 1,94645 seconds, 105 MB/srychlost čtení pomocí dd
dd if=video2.avi of=/dev/null count=400000 400000+0 records in 400000+0 records out 204800000 bytes (205 MB) copied, 3,51107 seconds, 58,3 MB/s
dd of=/dev/null if=video1.avi count=400000 400000+0 records in 400000+0 records out 204800000 bytes (205 MB) copied, 2,6189 seconds, 78,2 MB/s
Rychlost dosažená pomocí NFS byla o malinko lepší (cca 10%), použil jsem pro NFS nejvyšší optimalizace podle různých článků na webu.
Pro testy jsem použil síťové karty Intel 1000 PRO PCI-E a switch 1Gbit 3Com 8 port.
Tiskni Sdílej:
Disk mam připojený jak na serveru, kde ho ještě sdílím přes NFS a SAMBU, tak přes iSCSI.A to by mela byt podporovnana konfigurace? Ja bych tipoval, ze pri takove konfiguraci (fs mountovany lokalne a navic k partition pristupovano vzdalene) se brzy rozbije filesystem.