Kostenlose Virtualisierung mit VMware

Einleitung

VMwareLogo
VMWare ist ein im Silicon Valley ansässiges amerikanisches Unternehmen das sich auf Virtualisierungslösungen spezialisiert hat. Am bekanntesten sind die Produkte VMware Workstation und der vSphere Hypervisor (ESX) zur Betriebssystemvirtualisierung. Dabei wird die gesamte Computer Hardware simuliert, so das auf einer physikalischen Computer Hardware mehrere Betriebssysteme parallel laufen können. Das Unternehmen bietet für den Einstieg in die Virtualisierung einige Produkte kostenlos an, mit denen sich bereits gut Arbeiten lässt und die für kleinere Serverumgebungen ausreichend sind. Im nachfolgenden werden einige der frei verfügbaren Werkzeuge vorgestellt.

Client Virtualisierung – VMware Player

Der VMWare Player simuliert virtuelle Hardware unter Windows oder Linux und ermöglicht so den Betrieb virtueller Maschinen. Ãœber die GUI kann nur eine VM (Virtuelle Maschine) zeitgleich gestartet werden. Die Kommandozeile erlaubt über den Parameter „-x“ jedoch der Betrieb mehrerer parallel laufender VMs. Der Funktionsumfang ist gegenüber dem Produkt VMware Workstation eingeschränkt. Insbesondere fehlt die Funktion Snapshots zu erzeugen. Mit der Player Plus Version kann der Funktionsumfang erweitert werden.

Server Virtualisierung – VMware vSphere Hypervisor (ESXi)

VMware stellt mit dem vSphere Hypervisor eine kostenlose Lösung zur Servervirtualiserung bereit. vSphere Hypervisor ist ein Typ-1-Hypervisor der direkt auf die Serverhardware aufsetzt. Die eingesetzte Serverhardware sollte in der Kompatiblitätsliste von VMWare enthalten sein, damit der Hypervisor fehlerfrei funktioniert. Im Internet existieren Listen mit Conusmer Hardware die ebenfalls funktioniert und den Bau günstiger ESXi Server erlaubt. Von besonderer Bedeutung ist der eingesetzte RAID-Controller (Hardware RAID z.B. von Adaptec) und die CPU mit Virtualisierungstechnologie (z.B. Intel XEON mit VT (Intel Virtualization Technology)).

vSpehre Client zur Verwaltung eines vSphere Hypervisors (ESXi)

vSpehre Client zur Verwaltung eines vSphere Hypervisors (ESXi)

Der vSphere Hypvisor wird mit der Windows Software vSphere Client verwaltet. Sie erlaubt das Erstellen und Managen der virtuellen Maschienen mit Windows- oder Linux Betriebssystem. VMware vSphere speichert virtuelle Maschinen in sogenannten Datastores und dort in Verzeichnissen. Die wichtigsten Dateien sind Konfigurationsdateien (*.vmx) und virtuelle Festplatten (*.vmdk). Als Datastores kommen Festplatten (RAID Systeme) mit VMFS (Virtual Machine File System) oder NFS-Shares zum Einsatz. Die Festplatten können lokal im Server vorhanden sein oder über ein SAN (via HBA oder iSCSI) bereitgestellte LUN sein.
Die kostenlose Version des Hypervisor ist eingeschränkt. So sind nur zwei physikalische CPU Sockel verfügbar und die Management Software bietet nicht alle Profi Funktionen. Dazu zählen u.a. HA (High Availability), vMotion (live Migration laufender VMs) und Snapshots (Systemzustans zum Zeitpunkt X einfrieren).

Tools

Um das Virtualisierungs-Ökosystem von VMware gibt es viele Tools von Third-Party Herstellern aber auch von VMWare direkt, die das Management der Virtualisierungsumgebung vereinfachen. Im folgenden werden einige kostenlose Tools kurz vorgestellt.

VMware vCenter Converter

Der vCenter Converter ermöglicht das Erstellen virtueller Maschinen von physikalischen Computern (physical-to-virtual migration, P2V) oder System-Images die in den unterschiedlichsten Dateiformaten vorliegen können.

VMware vCenter Converter - Migration von VMs

VMware vCenter Converter – Migration von VMs

vCMA (vCenter Mobile Access Server)

VMware vCenter Mobile Access (vCMA) iPad App

VMware vCenter Mobile Access (vCMA) iPad App

Die ist eine vorkonfigurierte virtuelle Appliance die innerhalb eines vSphere Hypervisor deployed werden kann und einige Verwaltungs und Ãœberwachungsfunktionenen des ESXi Servers auf mobilen Geräten verfügbar macht. Der Zugriff kann über einen Webbrowser oder eine native iPad App erfolgen. Das System ist unter Adresse „https://ip-address/vim“ und der Management URL „https://ip-address:5480“ erreichbar.

Virtual Disk Development Kit (VDDK)

Das VDDK stellt ein Kommandozeilentool „vmware-vdiskmanager“ für die Offline-Wartung (VM darf nicht im Betrieb oder pausiert sein) von virtuellen Festplatten (VMDK-Dateien) zur Verfügung. Das Tool ermöglicht mit dem Parameter „-c“ das Erstellen von VMDK Dateien. Mit dem Parameter „-d“ kann ein bestehender VMDK-Datenträger defragmentiert werden und mit dem Parameter „-R“ kann die Konsistenz geprüft werden.
Mit dem enthalten Tool „vmware-mount“ kann ein VMDK-Datenträgern mit einem Laufwerksbuchstaben in den Windows-Explorer integriert werden. Genauere Informationen finden sich in dem Handbuch.

vmware-mount [driveletter:] [path-to-vmdk] [options]

Winmount

Das Tool Winmount erlaubt das Mounten virtueller VMWare Festplatten. Die VMDK (Virtual Machine Disk) Dateien erhalten damit einen Laufwerksbuchstaben und können über den Explorer gelesen und beschrieben werden.
WinMount_VMDK

geposted: 7. November 2013 | aktualisiert: 17. August 2019 | Autor: Marcus Hottenrott
Kategorie(n): Virtualisierung

Grundlagen des Cloud Computing

Cloud Computing tritt in verschiedenen Facetten auf, wodurch der Begriff für unterschiedlichste Technologien verwendet wird. Siehe auch Basistechnologien des Cloud Computing. Er ist bis heute nicht eindeutig definiert. Viele Bücher ziehen jedoch die Erläuterung der auf IT-Entwicklung spezialisierten Marktforschungsunternehmen Gartner und Forrester Research heran. Gartner beschreibt Cloud Computing als „a style of computing where massively scalable IT-related capabilities are provided „as a service“ using Internet technologies to multiple external customers.“
 

In der Arbeit wird der Begriff Cloud Computing für Dienste verwendet, die die folgenden Kriterien erfüllen:

  • Zentralisierter Dienst der es ermöglicht, Anwendungen zu betreiben und der über das Internet für jeden zugänglich ist
  • Die Kosten für den Dienst sind Nutzungsabhängig nach dem „pay as you use“ Prinzip
  • Die technische Infrastruktur ist von der physikalischen Infrastruktur abstrahiert
  • Einfache Skalierung der benötigten Ressourcen

Anwendungsfälle für Cloud Computing Web-Anwendungen

Cloud Web-Anwendungen können unterschiedlichste Anwendungsfälle abdecken. Die wichtigsten wurden durch das Projekt BEinGRID (Business Experiments in GRID) anhand konkreter Anwendungsfälle identifiziert. BEinGRID war das größte Projekt im 6. EU-Rahmenprogramm für Forschung, Technologische Entwicklung und Demonstration (FP6). Die nachfolgende Tabelle stellt die wichtigsten Anwendungsfälle dar:

 

Charakteristik der Anwendung

Beispiel Anwendung

Massive Skalierbarkeit

Soziale Netzwerke und Marketing Aktionen die über Soziale Netzwerke durchgeführt werden

Hohe Zuverlässigkeit

eCommerce Anwendungen

Variable Lasten

Online Shops wie Amazon (z.B. Lastspitzen zur Weihnachtszeit)

Unvorhersehbare & ggf. kurze Laufzeit

Webseiten für Events

Massives Parallel Computing

Große Datenberechnungen. Z.B. Genom Entschlüsselung

Bedarf an großen Speichermengen

Online Video Portale

Management der technische Infrastruktur einsparen

SaaS Anwendungen wie Google Docs

Anwendungen die nicht gut für On-Premise Hosting geeignet sind

Anwendungen die laufend aktualisiert werden.

Tab. 1 Anwendungsfälle für Cloud Computing

 

Ebenen des Cloud Computing

Cloud Computing Anbieter bieten Dienste auf unterschiedlichen Ebenen an, wobei die Ebenen theoretisch betrachtet aufeinander aufbauen. Die unterste Ebene bildet IaaS (Infrastructure as a Service) und stellt den darüber liegenden Ebenen die technische Infrastruktur zur Verfügung. Darauf baut die PaaS (Plattform as a Service)-Ebene auf, in der der Cloud Computing-Anbieter eine komplett verwaltete Systemumgebung mit diversen Services zur Verfügung stellt. In der höchsten Abstraktionsstufe SaaS (Software as a Service) werden komplette Web-Anwendungen zur Verfügung gestellt, die der Kunde nach dem „Pay-per-Use“ Prinzip nutzen kann.

Im nachfolgenden werden die einzelnen Ebenen genauer betrachtet:

 

CloudComputing_EbenenAbb. 2 Ebenen des Cloud Computing

Infrastructure as a Service (IaaS)

IaaS stellt die unterste Schicht im Cloud Computing dar. Der Cloud Computing Anbieter stellt eine virtuelle Infrastruktur zur Verfügung. Dazu zählen insbesondere virtuelle Server, Speichersysteme, Datenbanken und Netzwerke. Auf den virtuellen Servern kann der Kunde eigene Betriebssysteme und Software installieren. Die Flexibilität gegenüber PaaS ist deutlich höher, wird aber damit erkauft, dass der IaaS Nutzer die softwareseitige Administration der Server selbst übernehmen muss.

 

Die Kosten für IaaS-Lösungen sind nicht fix wie bei dem traditionellen Server Hosting, sondern abhängig von den verwendeten Ressourcen (u.a. CPU (Central Processing Unit) Zeiten und Speicherverbrauch).

Plattform as a Service (PaaS)

Die vorliegende Arbeit konzentriert sich überwiegend auf die PaaS-Ebene. Auf dieser Ebene stellen die Cloud-Anbieter einzelne Entwicklungswerkzeuge und Dienste zur Verfügung, die Anwendungsentwickler zu Programmierung neuer IT-Lösungen oder zur Anpassung bestehender IT-Lösungen an Cloud-Umgebungen nutzen können. Die entwickelten Anwendungen können als SaaS-Lösung über den Cloud-Anbieter bereitgestellt werden, der sich um die Administration der technischen Infrastruktur kümmert.

PaaS-Anbieter stellen Frameworks mit speziellen APIs für den Zugriff auf ihre Dienste wie Datenspeicherung, Datenbanken und Messaging Services zur Verfügung. Diese sind zumeist nicht kompatibel mit den APIs der konkurrierenden Cloud-Anbieter und führen zum „Vendor Lock-In“ genannten Problem, welches einen schnellen Wechsel zu einem anderen Cloud-Anbieter verhindert. Programme die für einen Anbieter entwickelt worden, müssen beim Wechsel auf eine andere Cloud-Plattform aufwändig angepasst werden. Wie groß der Aufwand ist, hängt von der speziellen Implementierung des Programmes ab. Daher sollte bereits beim Design der Anwendung auf eine möglichst große Interoperabilität geachtet werden. Diese kann beispielsweise durch Nutzung einer Zwischenschicht wie JPA (Java Persistence API) beim Zugriff auf die Datenbank des Cloud-Anbieters erhöht werden. Das IEEE (Institute of Electrical and Electronics Engineers) hat zu diesem Thema die Arbeitsgruppe P2301 gegründet, die die Interoperabilität der PaaS Cloud-Umgebungen erhöhen soll.

Software as a Service (SaaS)

SaaS arbeitet auf der obersten Schicht des Cloud Computing. Unternehmen, die SaaS anbieten, stellen ihren Kunden komplette Programme zur Verfügung, die über einen Browser abgerufen werden können. Die Software läuft auf der Infrastruktur des Cloud-Anbieters. Der Kunde spart somit Investitionen in Anwendungsserver und Softwarelizenzen. Er mietet die Software gegen eine monatliche Gebühr so lange er sie benötigt.

Gründe gegen die Nutzung einer SaaS Lösungen können die Datenhaltung beim SaaS-Anbieter und die erschwerte oder gar unmögliche Integration der SaaS-Anwendung in die bestehende Anwendungslandschaft des Kunden sein.

Cloud-Typen

Eine Cloud kann neben den verschiedenen Service-Ebenen auch durch den physischen Standort der Server Hardware und den Nutzerkreis, welcher auf die Cloud zugreifen darf, unterschieden werden.

CloudComputing_TypenAbb. 3 Cloud-Typen

Private Cloud

Bei der Private Cloud befindet sich die gesamte Hardware innerhalb des Unternehmens. Die IT-Abteilung des Unternehmens ist für die Administration des Cloud-Systems zuständig und kann die Sicherheit der unternehmenskritischen Daten gewährleisten. Es findet keine Ressourcenteilung mit anderen Cloud-Nutzern statt, sodass eine hohe Performance garantiert ist.

Eine Spezialform der Private Cloud ist die Community Cloud, bei der sich eine eingeschränkte Gruppe von Unternehmen eine Cloud teilen.

 

Public Cloud

Eine Public Cloud ist generell jedem zugänglich und stellt seine Dienste in einem öffentlichem Netzwerk wie dem Internet zur Verfügung. Es findet eine Ressourcenteilung statt, bei der mehrere Kunden sich die gleiche physikalische Hardware teilen. Die Trennung der Kunden wird per Software über Zugriffsbeschränkungen geregelt. Durch Load Balancing und Monitoring sorgen die Public Cloud-Anbieter dafür, dass immer genügend Leistungsreserven zur Verfügung stehen. Durch den großen Nutzerkreis können Skaleneffekte besonders gut genutzt werden, wodurch Public Cloud-Dienste relativ kostengünstig sind. Die Bezahlung der Dienste erfolgt meist monatlich auf Basis der in Anspruch genommen Ressourcen.

Hybrid Cloud

Die Hybrid Cloud stellt eine Mischform der beiden Ansätze dar und versucht die Vorteile der beiden Techniken zu vereinen und die Nachteile zu substituieren.
Aufgrund der verschiedenen Maßstäbe der Cloud-Typen in Bezug auf Sicherheit und zugesicherter Privatsphäre eigenen sich unternehmenskritische Anwendungen eher für den Betrieb in einer Private Cloud, wo hingegen weniger kritische Anwendungen auf IT-Ressourcen in einer Public Cloud ausgelagert werden können. Die Systeme oder Teile von einzelnen Systemen können somit als SOA umgesetzt werden und auf verschiedenen Cloud-Typen laufen. Die Kommunikation der Dienste läuft über gesicherte und standardisierte Interfaces. Dieser Zusammenschluss aus Private Cloud und Public Cloud wird als Hybrid Cloud bezeichnet.

geposted: 5. November 2013 | aktualisiert: 22. Juni 2014 | Autor: Marcus Hottenrott
Kategorie(n): Cloud Computing

Basistechnologien des Cloud Computing und von Cloud-Anwendungen

Im nachfolgenden werden einige der Basistechnologien des Cloud Computing vorgestellt, um eine Wissensbasis für die nachfolgenden Kapitel zu schaffen.

Open Source

Unter Open Source fällt Software, deren Quellcode unter einer von der OSI (Open Source Initiative) anerkannten Lizenz steht und somit öffentlich verfügbar ist. Die Software kann von jedermann kostenfrei genutzt und weiterentwickelt werden.

Für das Cloud Computing von besonderer Bedeutung sind insbesondere einige größere Open Source Projekte aus den Bereichen Virtualisierung, NoSQL-Datenbanken und der verteilten Speicherung von Binärdaten, die teilweise von den Cloud Anbietern verwendet werden und an entsprechender Stelle in der Arbeit erwähnt und ggf. näher erklärt werden.

Neben der Nutzung vereinzelter Open Source Software durch die Cloud-Anbieter existieren komplette Open Source Cloud Implementierungen. Dazu zählen die Projekte Eucalyptus (Elastic Utility Computing For Linking Your Programs To Usefull Systems), OpenNebula, Open QRM und OpenStack. Das Projekt Eucalyptus ist besonders interessant, da es schnittstellenkompatibel mit den Amazon-Diensten EC2, S3 und EBS ist.

Virtualisierung

Virtualisierung ist eine der grundlegenden Technologien, die Cloud Anbieter zur Realisierung ihrer Dienste verwenden. Eine eindeutige Definition ist nicht möglich, da die Anwendungsfälle und eingesetzten Technologien im Bereich der Hard- und Software verschieden sind. Das grundlegende Ziel von Virtualisierung ist jedoch die Schaffung einer logischen Abstraktionsschicht zwischen Hardware-Ressourcen und der darauf laufenden Software, so dass die Software von der Hardware entkoppelt ist.

 

Virtualisierung kann auf verschiedenen Ebenen stattfinden, die anschaulich im nachfolgend dargestellten Modell der Kusnetzky Group beschrieben werden. Im Bereich des Cloud Computing sind die unteren drei Ebenen sowie die Security- und Management-Ebene von Bedeutung:

 

Abb. 4 Ebenen der Virtualisierung

 

Processing virtualization

Die Processing virtualization wird genutzt, um auf einem physikalischen Server zeitgleich mehrere Server laufen zu lassen. Um dies zu erreichen, können zwei Kategorien von Virtualisierungstechnologien eingesetzt werden. Zum einen die „Voll Virtualisierung“, bei der die komplette Hardware eines Computers virtuell nachgebildet wird und zum anderen die „Para Virtualisierung“, bei der der Kernel des Gast OS (Operating System) angepasst werden muss. Der bekannteste Vertreter der Para Virtualisierung ist das Produkt XEN, bei dem die Gast OSs direkt auf der Hardware des Host System laufen. Aus diesem Grund ist XEN extrem schnell weswegen Amazon für seine EC2-Instanzen auf diesen setzt.

Im Nachfolgenden werden die bekanntesten Hypervisor Technologien aufgelistet:

 

Voll Virtualisierung Hypervisor Technologien:

  • VMware    (Closed Source)
  • HyperV     (Closed Source)
  • QEMU    (Quick Emulator, Open Source)
  • KVM        (Kernel-based Virtual Machine, Open Source)
  • Virtual Box     (Open Source)

Para Virtualisierung Hypervisor Technologien:

  • XEN        (Open Source)

     

Network virtualization

Network virtualization ermöglicht durch Hard- und Software-Technologien eine logische Sicht auf das Netzwerk, die sich von dem tatsächlichen physikalischen Aufbau des Netzwerkes unterscheidet und meist zentral über eine Management Software VIM (Virtual Infrastructure Manager) gesteuert werden kann. Dadurch können auf einfache Weise Teilnetze gebildet werden, in denen Computer zu Gruppen zusammengefasst sind, die gegenseitig Daten austauschen dürfen. Eine Technik zur Bildung der Teilnetze ist VLAN (Virtual Local Area Network).

Eine weitere häufig eingesetzte Technologie ist die Bündelung mehrerer Netzwerkverbindungen zu einer logischen Verbindung. Dadurch werden die Datenübertragungsrate und die Zuverlässigkeit erhöht. Eine mögliche Technologie zur Umsetzung bietet das nach IEEE 802.3ad spezifizierte LACP (Link Aggregation Protocol).

Weitere Technologien sind NAT (Network Address Translation), Network Isolation sowie komplett virtuelle Switche in den eingesetzten Hypervisor-Produkten.

 

Storage virtualization

Mit Storage virtualization wird eine logische Schicht zwischen den physischen Systemen zur Datenhaltung wie SAN (Storage Area Networks) und RAID (Redundant Array of Independent Disks) und den darauf zugreifenden Servern gebildet. Anwendungen greifen auf diese Zwischenschicht zu und brauchen damit nicht mehr genau wissen, auf welcher Festplatte, Partition oder Speicher-Subsystem die Daten liegen. Das Management der Datenhaltung wird damit zentralisiert und vereinfacht. Die Kapazität lässt sich je nach Bedarf nahezu beliebig skalieren, weshalb Cloud-Anbieter diese Technologie einsetzen. Mit HDFS (Hadoop Distributes File System) existiert eine Open Source Lösung der Apache Software Foundation, die es erlaubt mehrere Petabyte an Daten über viele Speicherknoten zu verteilen.

 

Aspekte die für die Nutzung von Virtualisierungs €“Techniken bei Cloud-Anbietern sprechen:

  • Bessere Auslastung der Hardware-Ressourcen, da mehrere virtuelle Instanzen auf der gleichen physikalischen Hardware laufen können.
  • Verringerter Energiebedarf der Server aufgrund der besseren Auslastung
  • Geringere Hardware Kosten, da bei guter Disaster Recovery günstigere Consumer Hardware eingesetzt werden kann.
  • Schnelle Disaster Recovery bei der die MTTR (Mean Time To Recovery) deutlich gesenkt ist. Virtuelle Maschinen können häufig ohne Service-Unterbrechung im laufenden Betrieb auf andere Hosts verschoben werden.
  • Das Deployment neuer Server geht aufgrund von fertigen Server Images sehr schnell.
  • Es existiert ein zentrales Management für die virtuellen Server.

NoSQL-Datenbanken

NoSQL steht für Not only SQL und bezeichnet eine neue Art von Datenbanken, die nicht den viel genutzten relationalen Ansatz verfolgen. Es handelt sich bei ihnen um strukturierte Datenspeicher, die keine festgelegten Tabellenschemata verwenden und zumeist ohne Joins auskommen. Sie skalieren sehr gut horizontal, d.h. durch das Hinzufügen weiterer Datenbankserver und können große Datenmengen schnell verarbeiten, weshalb sie gut für das Cloud Computing geeignet sind. Die Abfrage der Daten erfolgt in einer proprietären Sprache, die jedoch häufig an SQL angelehnt ist. Zumeist werden nicht alle ACID (Atomicity, Consistency, Isolation und Durability)-Eigenschaften durch die NoSQL Datenbanken erreicht. Insbesondere wird das Prinzip der Isolation und Konsistenzhaltung nur begrenzt umgesetzt, da häufig auf Transaktionen und Normalisierung verzichtet wird.

Es haben sich vier grundlegende Formen der NoSQL Datenbanken herausgebildet:

 

Key-Value-Datenbank

Die meisten NoSQL-Datenbanken arbeiten als Key-Value Store. Hierbei wird ein Schlüssel verwendet, der auf einen bestimmten Wert verweist. Das Verfahren ist mit den aus der Programmierung bekannten Hash Maps oder assoziativen Arrays vergleichbar, wo über einen Namen auf den Wert zugegriffen werden kann. Jeder der in dieser Arbeit vorgestellten Cloud Computing-Anbieter bietet eine NoSQL basierte Datenbank nach dem Key-Value Prinzip an. Google BigTable, Amazon SimpleDB und Microsoft Azure Table.

 

Spaltenorientierte-Datenbank

Spaltenorientierte Datenbanken speichern die Daten als Schlüssel-Wert-Relation. Sie haben eine sehr hohe Performance, da aufgrund ihres Designs eine Minimierung der Festplatten I/O Aktivität vorliegt. Der bekannteste Vertreter dieser Gattung von NoSQL-Datenbanken ist Cassandra. Cassandra ist aktuell ein Top Level Projekt der Apache Foundation und wird bei den Webdiensten Facebook, Twitter und Digg verwendet.

 

Dokumentenorientierte Datenbank

Diese Form der NoSQL-Datenbanken speichert Textdaten beliebiger Größenordnung ab. Die Daten werden als Ganzes betrachtet und nicht weiter unterteilt. Die Datenbank nimmt eine Indexierung der Daten vor und erlaubt einen Zugriff nicht nur über den Primärschlüssel, sondern auch über die Dokumenteninhalte. Die bekanntesten Open Source Vertreter dieser Datenbank Kategorie sind CouchDB und MongoDB.

 

Graphen-Datenbank

Graphen-Datenbanken werden seltener eingesetzt und decken ganz spezielle Anwendungsfälle ab. Sie speichern die Beziehung zwischen Elementen in einem Graphen. Dabei kann es sich beispielsweise um ein Beziehungsgefüge in einem sozialen Netzwerk handeln. Open Source-Implementierungen sind z.B. Neo4j und FlockDB, die von dem Webdienst Twitter genutzt wird.

 

NoSQL-Datenbanken sind nicht für alle Anwendungsfälle geeignet. Es gilt genau abzuwägen, ob die Vorteile die Einschränkungen gegenüber traditionellen relationalen Datenbanken rechtfertigen.

Serviceorientierte Architekturen (SOA)

Serviceorientierte Architekturen stellen ein Architekturmuster dar, um Softwaresysteme für verteilte Systeme umzusetzen. Der Begriff wurde erstmalig 1996 durch das Marktforschungsunternehmen Gartner benutzt. Es existiert keine eindeutige Definition, jedoch wird häufig die Definition der OASIS (Organization for the Advancement of Structured Information Standards) aus dem Jahr 2006 zitiert:

„SOA ist ein Paradigma für die Strukturierung und Nutzung verteilter Funktionalität, die von unterschiedlichen Besitzern verantwortet wird.“

Das Unternehmen hat ein Referenz Modell zur Umsetzung von Software Architekturen nach dem SOA Konzept entwickelt. Dabei werden Services generell aus einer Geschäftssicht und einer technischen Sicht beschrieben.

 

Die Ziele von SOA sind:

  • Flexibilisierung bestehender Prozesse durch modularen Aufbau und Kapselung einzelner Dienste
  • Dienste können wiederverwendet werden und zeichnen sich durch klar definierte und strukturierte Interfaces aus.
  • Kommunikationsinterfaces nutzen implementations unabhängige Standards wie XML, JSON und SOAP.
  • Schnelle Anpassung der Systeme an geänderte externe Einflüsse

SOA ist für Cloud-Anwendungen interessant, da es eine etablierte Architektur zur Verknüpfung von Cloud-Resourcen zur Verfügung stellt. Es existieren klar definierte

Designrichtlinien und Handlungsempfehlungen zum Aufbau der Dienste.

Webservices REST und SOAP

Bei REST (Representational State Transfer) und SOAP (Simple Object Access Protocol) handelt es sich um essentielle Techniken für die Benutzung und zur Verfügung Stellung von Webservices. Sie ermöglichen den Informationsaustausch zwischen IT-Systemen, wobei zumeist das XML- oder JSON-Format benutzt wird. REST und SOAP stehen somit in direkter Konkurrenz zueinander. Cloud Anbieter bevorzugen in der Regel das REST Protokoll, weshalb dieses im nachfolgenden näher beschrieben wird. REST wurde mit der Dissertation von Roy Fielding in Jahr 2000 bekannt. Es gibt fünf grundlegende Punkte die einen REST Services beschreiben:,,

 

Adressierbarkeit

Jede verteilte Ressource hat eine eindeutige Adresse, den URI (Uniform Ressource Identifier). Zur Identifizierung der Ressource wird zumeist eine Webadresse der folgenden Form verwendet:

http(s)://host:port/pfad/abfrage?parameter#fragment

 

Eindeutige und klar definierte Operationen

REST verwendet einfache Operationen, die auf jeden Dienst angewandt werden können. Dabei wird auf die im HTTP spezifizierten Operationen, GET, PUT, POST, DELETE, HEAD und OPTIONS zurückgegriffen.

 

 

Repräsentationsorientiertheit

Die unter einer Adresse zur Verfügung gestellten Daten können in unterschiedlichen Formen vorliegen. Insbesondere das im nachfolgenden Kapitel vorgestellte XML und JSON Format haben sich durchgesetzt.

 

Zustandslose Kommunikation

REST ist ein zustandsloses Kommunikationsprotokoll, bei dem jede Nachricht alle Informationen enthält um sie zu verstehen. Jede Anfrage des Clients an den Server ist in sich geschlossen. Der Server muss daher keine Zustandsinformationen zwischen zwei Anfragen speichern. Durch die Zustandslosigkeit können Webservices gut skaliert werden.

 

Verwendung von Hypermedia

In REST Services können Standard-Hypermedia Elemente verwendet werden. Dazu zählen insbesondere auch Hyperlinks, die Verknüpfungen zu anderen Elementen aufbauen.

Datenaustausch-Formate XML und JSON

Die Formate XML (Extensible Markup Language) und JSON (JavaScript Object Notation) werden von Cloud-Anbietern und auch den auf Cloud-Technologie aufsetzenden Web-Anwendungen innerhalb ihrer REST und SOAP Services zum Datenaustausch genutzt. Sie verwenden Plain-Text, wodurch die übertragenen Daten von Menschen lesbar sind.

XML wurde durch das W3C (World Wide Web Consortium) spezifiziert und ist verwandt mit HTML (HyperText Markup Language). Tags zur Datendefinition können im Gegensatz zu HTML jedoch frei gewählt werden. Ãœber eine DTD (Document Type Definition) kann festgelegt werden welche Elementtypen eine XML Datei beinhalten darf und welche Werte die Attribute annehmen dürfen.

JSON stellt eine Art serialisierte Form der aus Programmiersprachen bekannten Arrays und Objekten dar. JSON reicht dabei nicht an alle Funktionen von XML heran. U.a. werden keine Schemadaten, Metadaten oder eine klare Unterscheidung zwischen Attributen und Werten durchgeführt. Gerade wegen der Einfachheit und der Möglichkeit die JSON kodierten Daten bei einer AJAX (Asynchronous JavaScript and XML) basierenden Web-GUI (Graphical User Interface) wieder in JavaObjekte zu konvertieren, wird das Format gerne für die Ãœbertragung von Daten zwischen Web-/Anwendungsservern und einer Web-GUI genutzt.

Raspberry Pi – Windows Freigabe (SMB/CIFS) verbinden

samba_logo_smallMit wenigen Befehlen kann der Raspberry Pi auf Netzwerkfreigaben eines Windows PCs oder NAS Storage über das SMB/CIFS Protokoll zugreifen. Somit steht neben dem Einbinden eines USB Speichers eine weitere gute Möglichkeit bereit den Speicherplatz zu erweitern.

Bei dem aktuellen Raspbian Linux ist der nötige SMB Client bereits installiert. Alternativ kann der Client mit dem folgenden Befehl installiert werden:

sudo apt-get update
sudo apt-get install smbclient

Der Netzwerkspeicher kann über den Mount-Befehl in ein beliebiges Verzeichnis gemountet werden. In dem Beispiel wird das Verzeichnis „/mnt/smb“ verwendet.

sudo mkdir /mnt/smb

Mit folgender Zeile wird der Netzwerkspeicher mit vollen Berechtigungen in das eben angelegte Verzeichnis gemountet. Angepasst werden muss der Benutzername, Passwort und der Pfad zu der Netzwerkfreigabe.

sudo mount -t cifs -o user=USERNAME,password=PASSWORT,vers=1.0,rw,file_mode=0777,dir_mode=0777 //IP_ADDRESSE_FREIGABE/FREIGABENAME /mnt/smb/

Soll die Netzwerkfreigabe beim Start des Raspberry Pi automatisch verbunden werden, so muss der Mount-Befehl in die fstab Datei aufgenommen werden.

sudo nano -Bw /etc/fstab
geposted: 30. Oktober 2013 | aktualisiert: 21. Dezember 2019 | Autor: Marcus Hottenrott
Kategorie(n): Raspberry Pi

Raspberry Pi – Root Partition vergrößern

Die meisten OS (Operating System) Images für den Raspberry Pi sind für 2 GB oder 4 GB SD Karten ausgelegt. Wird eine größere SD Karte verwendet ist der zusätzliche Speicherplatz in Linux nicht verfügbar. Um den zusätlichen Speicher zu nutzen kann bei der Raspbian Distribution die Rootpartition auf einfache Weise über ein Menü im Konfigurationsmenü erweitert werden. Soll eine Migration einer bestehenden Linux Installation auf eine größere SD Karte vorgenommen werden kann dieser Anleitung zum kopieren der Daten gefolgt werden und anschließend wie unten aufgeführt die Root Partition an die größere SD Karte angepasst werden.

sudo raspi-config

Raspi_Config_Expand_Filesystem

Die Erfolgreiche Anpassung kann mit dem Befehl „sudo df -h“ überprüft werden.

Wird eine Distribution verwendet, die das Konfigurationsmenü nicht bietet, oder ist die SD Karte bereits so voll ist das das System nicht korrekt bootet, kann alternativ mit einer bootfähigen Live CD des kostenlosen Partition Manager GParted die Root Partition angepasst werden.

GParted free Partition Manager

GParted free Partition Manager

geposted: 26. Oktober 2013 | aktualisiert: 22. Juni 2014 | Autor: Marcus Hottenrott
Kategorie(n): Raspberry Pi

Raspberry Pi – Filesharing Plattform / Cloud mit Pydio

pydio_logoMit der OpenSource Software Pydio lässt sich der Raspberry Pi als Filesharing Plattform nutzen. Dadruch bleiben die Daten im eigenen Netzwerk und man ist unabhängig von Clouddiensten wie Dropbox.

Die Installation ist einfach und kommt mit einem Webserver mit PHP aus, so dass auf eine Performance raubende Datenbank auf dem Raspberry Pi verzichtet werden kann. Zunächst sollte ein Webserver wie Apache mit PHP eingerichtet werden wie es in diesem Tutorial beschrieben ist.

Anschließend wird Pydio in ein Verzeichnis des Webservers kopiert. Dazu kann WinSCP genutzt werden. Ich habe einen Ext4 formatierten USB Stick in das Root Verzeichnis des Apache Webserver gemountet um mehr Speicherplatz zu haben und die Zugriffe auf die SD Karte zu reduzieren. Dies verlängert die Lebensdauer der SD Karte und erhöht die Performance. Wie ein USB Stick eingebunden werden kann wird hier beschrieben. Wenn die Dateien kopiert sind müssen die Rechte für das Data-Verzeichnis so gesetzt werden, das der Webserver hier Daten ablegen kann:

chown -R www-data /var/www/usbstick/pydio/data/

Pydio schützt einige Verzeichniss mit .htaccess Dateien. Damit diese ausgewertet werden ist Apache so zu konfigurieren, das einzelen Einstellungen durch .htaccess Dateien überschrieben werden können:

sudo nano /etc/apache2/sites-enabled/000-default

Innerhalb der Datei muss die Direktive „AllowOverride None“ für das Verzeichnis „/var/www“ auf „All“ gesetzt werden:


    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all

Pydio benötigt für den Betrieb einige PHP Frameworks die installiert werden müssen. Dazu zählen die PHP Libraries MCrypt und PHP GD:

sudo apt-get install php5-mcrypt
sudo apt-get install php5-gd

Die Standardeinstellungen von PHP sollten für einen optimalen Betrieb von Pydio geändert werden. Dazu zählt die Deaktivierung des Ouputbufferings und die Erhöhung der maximalen Größe von POST-Requests:

sudo nano /etc/php5/apache2/php.ini

output_buffering = Off
upload_max_filesize = 500M
post_max_size = 500M

Nachdem alle Vorbereitungen getroffen sind sollte der Apache Webserver neu gestartet werden (service apache2 restart) und die Einrichtung von Pydio gestartet werden indem seine URL aufgerufen wird. (z.B: http://IP_ADRESSSE_RASPI/usbstick/pydio). Ein Wizzard führt durch die selbsterklärende Installation. Zur Speicherung von Einstellungen wird keine Datenbank gewählt, sondern die Quickstart Methode mit Dateien. Auf der Programmoberfläche angekommen sollte die maximale Uploadgröße noch erhöht werden (Benutzer oben rechts -> Einstellungen -> Globale Konfiguration -> Grundkonfiguration -> Uploaders Options: Limitierung Dateigröße 500M) Wenn alles eingerichtet ist kann das Filesharing mit der eigenen private Cloud Lösung beginnen:

Programmoberfläche der Pydio Filesharing Plattform

Programmoberfläche der Pydio Filesharing Plattform

Die Programoberfläche reagiert relativ zäh, da die Leistung des Raspberry Pi etwas zu niedrig ist. Die Transferrate beim Up-/ oder Download ist aber für kleinere Dateien ausreichend. Um die Leistung zu steigern kann die CPU des Raspberry Pi bei der Raspbian Distribution mit hilfe des Konfiguratiosnsmenüs leicht übertaktet werden.

sudo raspi-config

Raspberry Pi – LAMP (Apache Webserver mit PHP und MySQL)

Der Raspberry Pi kann den im Internet weit verbreiteten Softwarestack aus einem Apache Webserver mit PHP Interpreter und MySQL-Datenbank bereitstellen. Im nachfolgenden wird die Installation der drei Komponenten beschrieben:

Apache 2 Webserver installieren

apache_webserver_logo
Software Verzeichnis aktualisieren:

sudo apt-get update

Apache-Webserver installieren:

sudo apt-get install apache2

Anschließend muss ein Servername gesetzt werden:

sudo nano /etc/apache2/httpd.conf

In die leere Konfigurationsdatei wird folgender Befehl aufgenommen:

ServerName localhost

Der Service des Webservers kann mit folgendem Befehl gestarrtet werden:

sudo service apache2 start [stop]

Wenn der Service nicht gestartet werden kann weil die Gruppe/User „www-data“ nicht vorhanden ist muss dieser noch angelegt werden:

sudo groupadd www-data
sudo usermod -g www-data www-data

Apache wird in das Verzeichnis „/etc/apache2“ installiert. Das Root Verzeichnis es Webserver, in das die Webseiten kopiert werden befindet sich unter „/var/www“. Um den Webserver zu testen kann dieser auf Port 80 unter der IP-Adresse des Raspberry Pi mit einem Browser aufgerufen werden:

http://IP_ADRESSE_DES_RASPBERRY_PI

Test des Apache 2 Services:

sudo apache2 status

In der Liste der offenen Ports muss der Apache Server auf Port 80 vorhanden sein:

netstat -ntl

PHP installieren

php_logo
Viele Webseiten nutzen den PHP Interpreter um dynamische Inhalte zu erstellen. PHP kann mit folgendem Befehl installiert werden:

sudo apt-get install php5-common php5-cgi php5

Soll eine MySQL Datenbank aus PHP angesprochen werden muss noch das Paket „php5-mysql“ installiert werden:

sudo apt-get install php5-mysql

Um zu Testen ob der Apache Webserver PHP Dateien interpretiert kann testweise eine Seite (z.B. info.php) im Webserver Root angelegt werden, die die Methode „phpinfo();“ aufruft. Die Webseite zeigt dann wenn alles funktioniert die PHP Einstellungen.

MySQL-Datenbank installieren

mysql_logo
Der MySQL Datenbankserver kann auf dem Raspberry Pi zur Datenspeicherung installiert werden. Allerdings ist die Performance der Datenbank sehr schlecht, da der Raspberry Pi nicht genügend Leistung hat.

sudo apt-get install mysql-server

Bei der Installation wird das Passwort für den User „root“ der Datenbank gesetzt. Die Datenbank ist nach der Installation unter dem Port 3306 erreichbar. Er kann zum Testen unter Linux oder Windows angesprochen werden:

Linux:

sudo apt-get intall mysql-client
mysqladmin -u root password 'PASSWORT'
show databases; 
use DATABASE;
show tables;

Unter Windows ist kann der Heidi SQL Client empfohlen werden:

IP:  IP des Raspberry Pi (über den Befehl ifconfig auf dem Raspberry Pi zu ermitteln)
Port: 3306
User: root
Passwort: Wurde bei der Installation vergeben
geposted: 22. Oktober 2013 | aktualisiert: 22. Juni 2014 | Autor: Marcus Hottenrott
Kategorie(n): Raspberry Pi

Raspberry Pi – USB Stick oder Festplatte einbinden

Der Raspberry Pi besitzt keine IDE oder SATA Schnittstelle zum Anschluss von Festplatten. Um größere Massenspeicher anzuschließen empfiehlt sich daher die Verwendung eines USB-Sticks oder einer Festplatte die mittels eines USB/SATA Adapter an den USB Port angeschlossen wird. Solle eine Festplatte angeschlossen werden, so muss diese unbedingt zusätzlich mit Strom versorgt werden, da der USB Anschluss des Raspberry Pi nicht genug Strom zur Verfügung stellt. Micro USB StickFestplatten und USB Sticks können mit verschiedenen Dateisystemen formatiert sein. Das Dateisystem organisiert die Ablage und Struktur der Dateien auf dem Datenträger und besitzen verschiedene Funktionsumfänge und Einsatzgebiete. Unter Windows wird meist NTFS eingesetzt. USB Sticks werden häufig mit FAT32 ausgeliefert. Unter Linux kommen die werden zumeist die Dateisysteme EXT4 oder HFS eingesetzt. Für einen Datenträger der unter Raspberry Pi betrieben soll kann der USB Stick mit der Werkseitigen FAT Formatierung betrieben werden. Dadurch bleibt der USB Stick an einem Windows Computer lesbar. Sollen einzelne Dateien/Verzeichnisse auf dem Usbstick mit Berechtigen versehen werden, so muss dieser mit Ext4 formatiert werden. Besonders eignen sich für den Raspberry Pi Mico USB Adapter aufgrund ihrer geringen Abmessungen und dem Umstand das der Raspberry Pi sie direkt mit Strom versorgen kann.

Zunächst müssen auf dem Raspberry Pi die Treiber für das zu verwendende Dateisystem installiert werden:

sudo apt-get -y install ntfs-3g hfsutils hfsprogs hfsutils

Anschließend kann der USB Stick oder die Festplatte mit dem Raspberry Pi verbunden werden und dieser erkennt den neuen Datenträger automatisch. Mit dem folgenden Befehl kann ermittelt werden unter welcher Bezeichnung der Datenträger im System verfügbar ist:

tail -f /var/log/Messages
Oct  7 19:00:13 raspberrypi kernel: [333041.606385] usb 1-1.2: new high-speed USB device number 6 using dwc_otg
Oct  7 19:00:13 raspberrypi kernel: [333041.708081] usb 1-1.2: New USB device found, idVendor=8644, idProduct=8003
Oct  7 19:00:13 raspberrypi kernel: [333041.708110] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Oct  7 19:00:13 raspberrypi kernel: [333041.708126] usb 1-1.2: Product: Intenso Micro Line            
Oct  7 19:00:13 raspberrypi kernel: [333041.708141] usb 1-1.2: Manufacturer: Intenso                       
Oct  7 19:00:13 raspberrypi kernel: [333041.708172] usb 1-1.2: SerialNumber: 1241000000001088
Oct  7 19:00:13 raspberrypi kernel: [333041.723272] scsi0 : usb-storage 1-1.2:1.0
Oct  7 19:00:14 raspberrypi kernel: [333042.717699] scsi 0:0:0:0: Direct-Access     Intenso  Micro Line       1.01 PQ: 0 ANSI: 2
Oct  7 19:00:14 raspberrypi kernel: [333042.721869] sd 0:0:0:0: [sda] 62535680 512-byte logical blocks: (32.0 GB/29.8 GiB)
Oct  7 19:00:14 raspberrypi kernel: [333042.722690] sd 0:0:0:0: [sda] Write Protect is off
Oct  7 19:00:14 raspberrypi kernel: [333042.735054]  sda: sda1 Datenträger hat die Bezeichnung sda1
Oct  7 19:00:14 raspberrypi kernel: [333042.740746] sd 0:0:0:0: [sda] Attached SCSI removable disk

Soll das Ext4 Dateisystem verwendet werden, so muss der Usbstick entsprechend formatiert werden:

sudo mkfs.ext4 /dev/sda1

Um den Datenträger im System zu verwenden muss dieser in ein Verzeichnis gemountet werden. Dadurch steht der Datenträger später in diesem Verzeichnis zur Verfügung. Dazu legen wir ein Verzeichnis unter dem Verzeichnis Media an und mounten den Datenträger in dieses. Der Befehl zum mounten unterscheidet sich im verwendeten Dateisystem, Mount-Verzeichnis und einbunden Bezeichner im System (z.B. sda1)

sudo mkdir /media/usbstick

FAT
sudo mount -t vfat -o uid=pi,gid=pi /dev/sda1 /media/usbstick/

NTFS
sudo mount -t ntfs-3g -o uid=pi,gid=pi /dev/sda1 /media/usbstick/

HFS+
sudo mount -t hfsplus -o force,rw,uid=pi,gid=pi /dev/sda1 /media/usbstick/

Mit dem Befehl „df -h“ kann überprüft werden ob das Einbinden des Datenträgers funktioniert hat und wie viel Speicherplatz auf den einzelnen Partitionen verfügbar ist:

root@raspberrypi:/media/usbstick# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          1.8G  1.7G   23M  99% /
/dev/root       1.8G  1.7G   23M  99% /
devtmpfs        235M     0  235M   0% /dev
tmpfs            49M  376K   49M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            98M     0   98M   0% /run/shm
/dev/mmcblk0p1   56M   19M   38M  33% /boot
/dev/sda1        30G   32K   30G   1% /media/usbstick

Soll der Datenträger bei jedem Systemstart eingebunden werden, so muss das mounten in der Datei fstab entsprechend der oben verwendeten Daten vorgenommen werden:

sudo nano -Bw /etc/fstab
/dev/sda1       /media/usbstick/ vfat   defaults,auto,users,rw 0

Um den Datenträger wo anders zu verwenden muss er mit folgenden Befehl ungemountet werden:

sudo umount /media/usbstick
geposted: 19. Oktober 2013 | aktualisiert: 22. Juni 2014 | Autor: Marcus Hottenrott
Kategorie(n): Raspberry Pi

Raspberry Pi – Linux installieren und Backup erstellen

Der Raspberry Pi nutzt als Datenspeicher keine Festplatte, sondern eine SD Karte. Diese kann mit verschiedenen Linux Distributionen, die als fertiges Image vorliegen und von der Raspberry Pi Webseite bezogen werden können, beschrieben werden. Die Imagedateien enden meist mit der Dateiendung *.img und können unter Windows mit dem Win 32 Disk Imager auf die SD Karte geschrieben werden. Zu beachten ist, das dass der korrekte Laufwerkbuchstabe für den SD Karten Leser gewählt wird und die SD Karte nicht hardwareseitig schreibgeschützt ist. Über die Buttons Write und Read kann dann das Image auf die SD Karte übertragen werden, oder ein ein Backup einer bestehenden Linux Installation auf der Festplatte abgelegt werden. Es empfiehlt sich das Backup zu zippen, da so einiges an Speicherplatz eingespart werden kann.

Win32 Disk Imager

Sollte Linux nach der Installation nicht starten, empfiehlt es sich zu kontrollieren ob die erste FAT Partition aktiv und bootfähig ist. Dies kan mit dem kostenlosen Partition Manager Tool – MiniTool® Partition Wizard durchgeführt werden.

RaspberryPi_Active_Boot_FAT_Partition

geposted: 19. Oktober 2013 | aktualisiert: 22. Juni 2014 | Autor: Marcus Hottenrott
Kategorie(n): Raspberry Pi

Elektronische Bauteile

Widerstände

Widerstände werden dazu eingesetzt um den Stromfluß zu begrenzen. Es ist es egal an welcher Seite Plus oder Minus angelegt wird. Den Widerstand berechnet man nach der Formel R = U / I. Um den Vorwiderstand für Leuchtdioden auszurechenen findest du weiter unten ein Formular. Widerstände sind recht robuste Bauteile, die einem eine längere Lötzeit meist nicht übel nehmen. Sollte man Lötneuling sein, und eine größere´Schaltung zusammenlöten, empfiehlt es sich mit den Widerständen anzufangen um ein wenig Ãœbung zu bekommen. Wikipedia Wiederstand

Dioden

Die Dioden sind Einbahnstraßen für den Strom, d.h sie lassen den Strom nur in eine Richtung durch und zwar von der Anode zur Kathode. In die andere Richtung wird der Strom gesperrt. An der Diode fällt eine gewisse Spannung ab. Die Ausgangsspannung ist daher um ca. 0.7 Volt kleiner als die an der Anode angelegte Eingangsspannung. Damit man die Diode in der gewünschten Richtung in den Stromkreislauf einbauen kann, wird die Kathode mit einem schwarzen oder weißen Ring makiert.Wikipedia Diode

Leuchtdiode (LED)

led
Die Leuchtdiode, auch LED(Light Emitting Diode) genannt, ist eine Halbleiterdiode, die beim Betrieb in Durchlaßrichtung Licht erzeug t(emittiert). Dabei gibt ein Halbleiterkristall ein Lichtsignal ab, das durch die linsenförmige Form des Kopfes gebündelt bzw. gestreut wird. Leuchtdioden gibt es in verschiedenen Farben, Größen und Bauformen. Deshalb Werden sie als Signalampen und Anzeigen verwendet. Dieses Bauteil ist je nach Farbe aus unterschiedlichen Halbleiterkristallen aufgebaut.Wikipedia LED

Anode(+)

Kathode(-)

– längeres Beinchen – kürzeres Beinchen

– kleineres Metallstück in der LED

– größeres Metallstück in der LED

-abgeflachte Stelle am LED Körper

Bei LEDs ist wie bei Dioden die Polung wichtig. Es gibt mehrere Merkmale an der LED um die Anode(+) von der Kathode(-) zu unterscheiden. (siehe Tabelle)
Meistens müssen die Leuchtdioden mit einem Vorwiderstand betrieben werden, um den Strom zu begrenzen. Den Wert für den Vorwiderstand errechnet man, indem man von der Gesammtspannung die LEDspannung subtrahiert und dann durch Stromstärke der LED dividiert. Die Formel für die Wiederstand sieht daher so aus:R = U / I
Mit Hilfe des untenstehenden Formulars kannst du die Werte für deine Vorwiederstände automatisch berechnen.

Widerstandsberechnung für
LEDs
Ausgangs-Spannung : Volt
LED Referenzspannung(Uref): Volt (z.B: 3.5)
LED Referenzstrom(Iref): mA
Benötigter Widerstand: Ohm

Transistor

Transistoren werden überwiegend aus Silizium gefertigt oder aus Mischkristallen wie z. B. Galliumarsenid.vDer Transistor ist ein Halbleiterelement, der entweder die Funktion eines Schalters übernimmt (indem er den Strom durch den Collektor leitet oder sperrt) oder aber einen Strom verstärkt. Mit einem kleinen "Steuerstrom" durch die Basis kann ein wesentlich größerer Strom durch den Collector gesteuert werden.

Transistoren haben drei Anschlüsse die wie folgt bezeichnet werden:

– Basis (B)
– Emitter (E)
– Collector (C)
Wikipedia Transistor

geposted: 13. Oktober 2013 | aktualisiert: 22. Juni 2014 | Autor: Marcus Hottenrott
Kategorie(n): Diverses