https://techcorner.max-it.de/api.php?action=feedcontributions&user=Ansp&feedformat=atommaxTechCorner - Benutzerbeiträge [de]2024-03-29T10:59:03ZBenutzerbeiträgeMediaWiki 1.31.7https://techcorner.max-it.de/index.php?title=ISO/IEC_27001_als_Sicherheitsstandard_f%C3%BCr_das_Rechenzentrum&diff=778ISO/IEC 27001 als Sicherheitsstandard für das Rechenzentrum2017-08-31T14:06:34Z<p>Ansp: Die Seite wurde neu angelegt: „=== ''' Einleitung ''' === Die internationale Norm ISO/IEC 27001 beschreibt den systematischen Aufbau eines effektiven Managementsystems zur Informationssicher…“</p>
<hr />
<div>=== ''' Einleitung ''' ===<br />
Die internationale Norm ISO/IEC 27001 beschreibt den systematischen Aufbau eines effektiven Managementsystems zur Informationssicherheit (Information Security Management System, kurz ISMS). Die wichtigsten Ziele für das Managementsystem sind Vertraulichkeit, Integrität und Verfügbarkeit bei den Unternehmensdaten und IT-Systemen. Damit ist die ISO/IEC 27001 ein zuverlässiger Sicherheitsstandard für Rechenzentren, von dem auch Kunden der m.a.x. it profitieren. <br /><br />
=== ''' Beschreibung und Vorteile ''' ===<br />
Der Sicherheitsstandard ISO 27001 (aktuelle Version: ISO/IEC 27001:2013) wurde 2005 eingeführt und gilt heute als eines der weltweit wichtigsten Sicherheitsstandards für Informationssysteme von privatwirtschaftlichen und öffentlichen Unternehmen sowie gemeinnützige Organisationen.<br /><br />
Mit der ISO/IEC 27001 erhalten Unternehmen einen Leitfaden zur systematischen Einführung eines ISMS. Neben der Sicherheit der Informationssysteme ist auch die Einhaltung von Compliance-Richtlinien ein wichtiger Aspekt der Norm. ISO/IEC 27001 bietet so die Möglichkeit, Prozesse im Unternehmen nach standardisierten Richtlinien einzuführen, zu prüfen und kontinuierlich zu optimieren.<br /><br />
=== ''' Bestandteil der Infrastruktur von m.a.x. it ''' ===<br />
Sämtliche Netz- und Plattformkomponenten der m.a.x. it befinden sich in Münchner Rechenzentren, die nach den Sicherheitsrichtlinien gemäß ISO/IEC 27001 zertifiziert sind und den deutschen Datenschutznormen unterliegen. Kunden erhalten dadurch einen wichtigen Bestandteil für den Nachweis der Einhaltung von Rechtsvorschriften und Compliance-Anforderungen. <br /><br />
Unternehmensdaten und deren Verfügbarkeit sind in den zertifizierten Umgebungen bestmöglich gegen Systemausfälle und externe Angriffe geschützt. Für seine Kunden bietet m.a.x. it damit einen wertvollen Wettbewerbsvorteil.<br /><br />
Mehr Informationen zur Infrastruktur bei m.a.x. it erhalten Sie [https://www.max-it.de/2017/03/28/m-a-x-it-optimiert-seine-rechenzentrums-netz-und-plattforminfrastruktur/ hier >>]<br />
=== ''' Links und Quellen ''' ===<br />
http://www.tuev-sued.de/management-systeme/it-dienstleistungen/iso-27001<br /><br />
=== ''' Kontakt ''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
Über m.a.x. Informationstechnologie AG:<br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br />
=== ''' Tags''' ===<br />
ISO/IEC 27001, Rechenzentrum, Sicherheitsstandard, Datensicherheit, Compliance<br />
[[Kategorie: Server & Storage]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Xcode:_Validierung_der_Xcode_App&diff=777Xcode: Validierung der Xcode App2017-03-03T12:07:44Z<p>Ansp: </p>
<hr />
<div>==='''Symptom'''===<br />
Falls Sie die Xcode App nicht von der Apple Developer Website (https://developer.apple.com/) geladen haben oder überprüfen wollen, ob ihre Xcode Version valide ist, müssen Sie die folgenden Schritte ausführen.<br /><br />
==='''Ursache und Lösung'''===<br />
1. Öffnen Sie die Terminal.app<br /><br />
2. Geben Sie die folgenden Befehle ins Terminal ein:<br /><br />
<pre> spctl –assess –verbose /Applications/Xcode.app</pre><br />
[[Datei: Validierung_der_Xcode_App.jpg|left|thumb|600px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
Dieser Vorgang dauert wenige Minuten. Anschließend sollten Sie eine der folgenden 3 Meldungen zurückbekommen:<br /><br />
Wenn Sie Xcode aus dem Mac App Store geladen haben:<br /><br />
<pre>/Applications/Xcode.app:accepted<br />
source=Mac App Store</pre><br />
[[Datei: Validierung_der_Xcode_App2.jpg|left|thumb|600px]]<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
Wenn Sie Xcode von der Apple Developer Website (https://developer.apple.com/) geladen haben:<br /><br />
<pre>/Applications/Xcode.app:accepted</pre><br />
<pre>source=Apple</pre><br />
oder<br /><br />
<pre>/Applications/Xcode.app:accepted<br />
source=Apple System</pre><br />
Sollte das Ergebnis nicht „accepted“ oder sollte „source“ nicht „Mac App Store“, „Apple System“ oder „Apple“ anzeigen, löschen Sie die Xcode.app und laden Sie eine aktuelle Version aus dem Mac App Store oder von der Apple Developer Website (https://developer.apple.com/).<br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/softwareloesungen/<br /><br />
http://www.golem.de/news/xcode-ghost-hacker-schleusen-malware-in-apples-app-store-ein-1509-116410.html<br /><br />
<br />
==='''Links und Quellen'''===<br />
https://developer.apple.com/news/?id=09222015a<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, wenden Sie sich bitte an uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
=== ''' Tags ''' ===<br />
Xcode , Validierung , Terminal<br />
<br />
[[Kategorie: Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Xamarin:Kein_Internet_auf_iOS_Simulator&diff=776Xamarin:Kein Internet auf iOS Simulator2017-03-03T12:07:27Z<p>Ansp: </p>
<hr />
<div>==='''Symptom'''===<br />
Sie lassen Ihre Xamarin-App aus VisualStudio oder aus XamarinStudio auf einem iOS-Simulator laufen, dieser hat jedoch keinen Internetzugriff.<br /><br />
==='''Ursache und Lösung'''===<br />
Auf dem Mac, wo Simulator läuft, muss Proxy für Internet-Verbindung konfiguriert werden. Hierzu könnten Sie eine zusätzliche Software installieren, die diese Aufgabe übernimmt. Ein Beispiel hierzu wäre Proxifier für Mac (https://www.proxifier.com). Mit dieser Software können Sie Proxy-Einstellungen konfigurieren, zudem gibt es auch umfangreiche Möglichkeiten, Regeln, Profile usw. einzurichten.<br /><br />
<br />
Den Proxifier in der vollfunktionierenden Version kann man kostenlos für 31 Tage herunterladen.<br />
[[Datei: Proxifier für Mac.jpg|left|thumb|500px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
'''Anmerkung:''' damit IOS-Simulator bei den Internetzugriffen auf die Proxy-Einstellungen zurückgreifen kann, sollte Proxifier laufen. Also starten Sie zuerst den Proxifier, und erst danach den iOS-Simulator.<br /><br /><br />
<br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/softwareloesungen/<br /><br />
<br /><br />
<br />
==='''Links und Quellen'''===<br />
https://www.proxifier.com/mac_download.htm<br /><br />
<br /><br />
==='''Kontakt'''===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, wenden Sie sich bitte gerne an mailto:techCorner@max-it.de.<br /><br />
<br /><br />
==='''Tags'''===<br />
Xamarin, mobile, Entwicklung, App, Internet, Simulator, iOS<br />
<br />
[[Kategorie: Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Xamarin:Benutzerdefinierte_Schriftart_in_App&diff=775Xamarin:Benutzerdefinierte Schriftart in App2017-03-03T12:07:14Z<p>Ansp: </p>
<hr />
<div>==='''Symptom'''===<br />
Sie möchten in Ihrer Xamarin-App eigene Schriftarten (Custom Fonts) benutzen. Sie kopieren Ihre Schriftart-Dateien in den App-Ordner, diese werden jedoch nicht angewendet. App benutzt weiterhin die Standart-Schriftarten.<br /><br />
==='''Ursache und Lösung'''===<br />
Damit eine benutzerdefinierte Schrift in der App verwendet wird, sollte diese richtig konfiguriert werden. Öffnen Sie bitte hierzu Ihre Projektmappe in VisualStudio und dann gehen Sie wie folgt vor. <br /><br /><br />
<br />
'''Xamarin Android:''' <br /><br />
<br />
1. Legen Sie Ihre Schriftart-Datei (z.B. MeineSchrift.ttf) in Ordner <Assets> Ihres Projektordners ab.<br /><br />
2. Klicken Sie auf diese Datei mit der rechten Maustaste und gehen Sie zu <Eigenschaften>. Stellen Sie sicher, dass es „AndroidAsset“ als BuildAction für diese Datei eingestellt ist.<br /><br />
3. Jetzt können Sie Ihre Schriftart in der Android-App im C#-Code benutzen:<br /><br />
<pre> public static Typeface MeineAppSchrift = <br />
Typeface.CreateFromAsset(Application.Context.Assets, "MeineSchrift.ttf");<br />
<br />
TextView MeinTextView = FindViewById<TextView>(Resource.Id. MeinTextView);<br />
MeinTextView.Typeface = MeineAppSchrift;<br />
</pre><br />
'''Xamarin iOS:'''<br /><br />
<br />
1. Legen Sie Ihre Schriftart-Datei (z.B. MeineSchrift.ttf) in Ordner <Resources> Ihres Projektordners ab.<br /><br />
2. Klicken Sie auf diese Datei mit der rechten Maustaste und gehen Sie zu <Eigenschaften>. Stellen Sie sicher, dass es „BundleResource“ als BuildAction für diese Datei eingestellt ist.<br /><br />
3. Jetzt sollten Sie noch Ihre Schriftart in der Datei Info.plist registrieren. Achtung, wenn Sie diese Konfigurationsdatei in VisualStudio mit dem eingebauten Default-Editor (PListEditorFactory) öffnen, dann finden Sie dort keine Möglichkeit, die Schriftarten zu konfigurieren. Das geht nur im XamarinStudio auf dem Mac. <br /><br />
Aber keine Sorge, in VisualStudio gibt es auch einen Weg, um die Schriftarten in Info.plist einzutra-gen. Plist-Dateien sind nichts anderes, als XML-Dokumente. Darum klicken Sie einfach in VisualStudio auf Ihre Info.plist-Datei mit der rechten Maustaste, wählen Sie <Öffnen mit...> und dann <XML Editor>. Nun fügen Sie einen Key hinzu:<br />
<pre><key>UIAppFonts</key><br />
<array><br />
<string>MeineSchrift.ttf</string><br />
</array><br />
</pre><br />
<br /><br />
4. Jetzt können Sie Ihre Schriftart in der iOS-App im C#-Code benutzen:<br />
<pre>public static string MeineAppSchrift = "MeineSchrift"; <br />
<br />
MeinLabel.Font = UIFont.FromName(MeineAppSchrift, 20); <br />
</pre> <br />
Achtung, hier sollten Sie den Schriftnamen benutzen, und nicht den Dateiname. Den Schriftnamen können Sie erfahren, wenn Sie Ihre .ttf-Datei ganz normal aus dem Windows-Explorer öffnen.<br />
[[Datei: Öffnen der .ttf-Datei.jpg|left|thumb|500px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/softwareloesungen/<br /><br />
<br /><br />
<br />
==='''Links und Quellen'''===<br />
http://developer.xamarin.com/recipes/ios/standard_controls/fonts/enumerate_fonts/ <br /><br />
<br /><br />
==='''Kontakt'''===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techCorner@max-it.de. <br /><br />
<br /><br />
==='''Tags'''===<br />
Xamarin, android, ios, app, schriftart, schrift, benutzerdefiniert<br />
<br />
[[Kategorie: Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Xamarin:_Wartedialog_Daten_laden&diff=774Xamarin: Wartedialog Daten laden2017-03-03T12:06:59Z<p>Ansp: </p>
<hr />
<div>==='''Wartedialog für Xamarin App '''===<br />
Sie haben eine mobile App entwickelt, die ihre Daten aus dem Internet, z.B. von einem Webservice, abruft. Es dauert ein bisschen, bis die Daten komplett geladen werden und der Benutzer Ihrer App muss diese ein paar Sekunden vor dem leeren Bildschirm sitzen bleiben. Das möchten Sie ändern und den Ladeprozess mit einem Wartedialog klar andeuten. <br />
==='''Viewmodel vorbereiten'''===<br />
Angenommen, Sie haben im ViewModel Ihr Datenobjekt:<br />
<pre><br />
private ObservableCollection<Customer> _customers;<br />
public ObservableCollection<Customer> MyCustomerList<br />
{<br />
get<br />
{<br />
return _customers;<br />
}<br />
set<br />
{<br />
if (_customers!= value)<br />
{<br />
_customers = value;<br />
RaisePropertyChanged("MyCustomerList");<br />
}<br />
}<br />
}<br />
</pre><br />
Nun bereiten Sie bitte in Ihrem Viewmodel ein Flag IsLoaded vor:<br />
<pre><br />
private bool isLoaded;<br />
public bool IsLoaded<br />
{<br />
get<br />
{<br />
return isLoaded;<br />
}<br />
private set<br />
{<br />
if (isLoaded != value)<br />
{<br />
isLoaded = value;<br />
RaisePropertyChanged("IsLoaded");<br />
}<br />
}<br />
}<br />
</pre><br />
Setzen Sie dieses Flag vor und nach dem Laden der eigentlichen Daten:<br />
<pre><br />
public async void LoadData(int countryId)<br />
{<br />
IsLoaded = false;<br />
<br />
MyCustomerList = await DataManager.GetCostumersByLand (countryId);<br />
<br />
IsLoaded = true;<br />
}<br />
</pre><br />
==='''Wartedialog für Xamarin.Android'''===<br />
Zuerst nehmen Sie bitte in das Layout Ihrer Xamarin.Android-App ein ProgressBar mit auf. Dieses sollte mittels eines FrameLayouts mit dem eigentlichen Content zusammengefasst werden. <br />
<pre><br />
<FrameLayout<br />
android:layout_width="fill_parent"<br />
android:layout_height="match_parent"<br />
<LinearLayout<br />
android:id="@+id/LoadLayout"<br />
android:layout_width="match_parent"<br />
android:layout_height="match_parent"<br />
android:orientation="vertical"<br />
android:visibility="invisible"<br />
android:gravity="center_horizontal|center_vertical"><br />
<ProgressBar<br />
android:layout_height="wrap_content"<br />
android:layout_width="wrap_content"<br />
android:id="@+id/ProgressBar1"<br />
android:indeterminateOnly="true"<br />
android:keepScreenOn="true"<br />
android:layout_marginTop="10dp"<br />
android:gravity="center_horizontal|center_vertical" /><br />
</LinearLayout><br />
<ListView<br />
android:id="@+id/CustomersListView"<br />
android:layout_width="match_parent"<br />
android:layout_height="match_parent" /><br />
</FrameLayout><br />
</pre><br />
In der C#-Activity-Klasse Initialisieren Sie nun das Binding:<br />
<pre><br />
private Binding<ObservableCollection<Customer>, ObservableCollection<Customer>> bindingCustomerList;<br />
private Binding<bool, bool> bindingIsLoaded;<br />
<br />
protected override void OnStart()<br />
{<br />
base.OnStart();<br />
<br />
InitializeBindings();<br />
<br />
ViewModel.LoadData();<br />
}<br />
<br />
<br />
protected override void OnStop()<br />
{<br />
base.OnStop();<br />
<br />
// Bindings detachen, sonst bleiben diese am Viewmodel hängen und <br />
// Binding funktioniert fehlerhaft<br />
if (bindingCustomerList != null)<br />
{<br />
bindingCustomerList.Detach();<br />
bindingCustomerList = null;<br />
}<br />
<br />
if (bindingIsLoaded != null)<br />
{<br />
bindingIsLoaded.Detach();<br />
bindingIsLoaded = null;<br />
}<br />
} <br />
<br />
private void InitializeBindings()<br />
{<br />
// Bei Änderung der Daten im ViewModel UI aktualisieren<br />
bindingCustomerList = this.SetBinding(<br />
() => ViewModel.MyCustomerList).WhenSourceChanges(()<br />
=><br />
{<br />
myAdapter.DataSource = ViewModel.MyCustomerList;<br />
CustomersListView.Adapter = myAdapter;<br />
myAdapter.NotifyDataSetChanged();<br />
});<br />
<br />
// Sobald die Daten geladen werden, werden entsprechende Controls angezeigt<br />
bindingIsLoaded = this.SetBinding(() => ViewModel.IsLoaded).WhenSourceChanges(<br />
() => {<br />
SetAktivContent();<br />
});<br />
}<br />
</pre><br />
Die Steuerung über sichtbare Objekte findet in der Methode SetActivContent statt:<br />
<pre><br />
private void SetActivContent(bool isloaded)<br />
{<br />
if (isloaded)<br />
{<br />
// Daten anzeigen<br />
this.CustomersListView.Visibility = ViewStates.Visible;<br />
this.LoadLayout.Visibility = ViewStates.Gone;<br />
}<br />
else<br />
{<br />
// Wartedialog anzeigen<br />
this.CustomersListView.Visibility = ViewStates.Gone;<br />
this.LoadLayout.Visibility = ViewStates.Visible;<br />
}<br />
}<br />
</pre><br />
Und sieht dann die Wartemaske in Xamarin.Android-App aus:<br />
[[Datei:Wartemaske_Android.jpg|left|thumb|200px]]<br />
<br /><br /><br /><br /><br /><br /><br />
==='''Wartedialog für Xamarin.iOS'''===<br />
Bei Xamarin.iOS können Sie die gleiche Vorgehensweise benutzen, nur noch heißt da das entspre-chende Control für Wartedialog „UIActivityIndicatorView“ und sieht so aus:<br />
[[Datei:Wartemaske_iOS.png|left|thumb|100px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br />
Und die entsprechende Methode SetActivContent sieht dann wie folgt aus:<br />
<pre><br />
private void SetActivContent ()<br />
{<br />
if (ViewModel.IsLoaded == false)<br />
{<br />
// Wartedialog anzeigen<br />
this.ActivityIndicator1.Hidden = false;<br />
this.ActivityIndicator1.StartAnimating();<br />
this.CustomerTableView.Hidden = true;<br />
}<br />
else<br />
{<br />
// Daten sind da<br />
this.ActivityIndicator1.Hidden = true;<br />
this.CustomerTableView.Hidden = false;<br />
}<br />
}<br />
</pre><br />
=== '''Weitere Informationen''' ===<br />
https://www.max-it.de/softwareloesungen/<br /><br />
<br />
=== '''Links und Quellen''' ===<br />
http://cdn1.xamarin.com/webimages/images/infographics/xamarin-mobile-controls-infographic-062014.pdf <br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
=== '''Tags''' ===<br />
Xamarin, Android, iOS, Daten laden, ProgressBar, ActivityIndivator, Wartedialog, Wartemaske<br />
[[Kategorie: Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Xamarin:_System.UnAuthorizedAccessException&diff=773Xamarin: System.UnAuthorizedAccessException2017-03-03T12:06:40Z<p>Ansp: </p>
<hr />
<div>==='''Symptom'''===<br />
Sie wollen einen neuen Build mit Xamarin Studio für iPhone oder iPhone Simulator erstellen und Xamarin zeigt den „System.UnAuthorizedAccessException“ an. <br />
{|<br />
|-<br />
| [[Datei:UnAuthorizedAccessException.jpg|left|thumb|600px]]<br />
|}<br />
==='''Ursache und Lösung'''===<br />
1. Navigieren Sie zum Projektverzeichnis<br /><br />
2. Öffnen Sie den „bin“-Ordner<br /><br />
3. Öffnen Sie den Ordner „iPhone“, bzw. „iPhoneSimulator“<br /><br />
4. Öffnen Sie den Ordner „Debug“, bzw. „Release“<br /><br />
5. Nun verschieben Sie das Appbundle in den Papierkorb <br /><br /><br />
<br />
Xamarin Studio sollte nun wieder in der Lage sein einen neuen Build zu erstellen.<br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/softwareloesungen/<br />
==='''Links und Quellen'''===<br />
http://forums.xamarin.com/ <br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /><br />
<br />
=== '''Tags''' ===<br />
Xamarin, System.UnAuthorizedAccessException, Xamarin Studio, Build Error<br />
<br />
<br />
[[Kategorie: Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Xamarin:_Kein_Internet_auf_Android-Emulator&diff=772Xamarin: Kein Internet auf Android-Emulator2017-03-03T12:06:25Z<p>Ansp: </p>
<hr />
<div>=== '''Symptom''' ===<br />
Sie starten Ihre Xamarin-App auf einem Android-Emulator, dieser hat jedoch keinen Internetzugriff.<br /><br />
<br /><br />
=== '''Ursache und Lösung''' ===<br />
Die Internet-Verbindung muss auf dem Emulator konfiguriert werden.<br /><br />
<br /><br />
'''1. Starten Sie den Android-Emulator'''<br /><br />
<br /><br />
''In Visual Studio:''<br /><br />
<pre>Menü <Extrass> -> <Open Android Emulator Manager> einen Emulator starten oder einen neuen erstellen.</pre><br />
<br />
''Oder in Xamerin Studio:''<br /><br />
<pre>Menü <Projekt> -> <Android Device Target> -> <Manage Devices> -> einen Android Emulator auswählen und starten (z.B. MonoForAndroid_API_15) oder einen neuen erstellen. </pre><br />
<br /><br />
2. Konfigurieren Sie die Internet-Verbindung auf dem Android-Emulator:<br /><br />
<pre>Button “Menü” -> System Settings -> Wireless & Networks -> More -> Mobile Networks -> Access Point Names -> Telkila</pre><br />
<br />
Hier setzen Sie Proxy host name (unter "Proxy") und Proxy port (unter "Port").<br /><br />
{|<br />
|-<br />
| [[Datei:Android-Emulator.jpg|left|thumb|400px]]<br />
|}<br /><br />
Zudem sollte in dem App-Projekt in der Datei <AndroidManifest.xml> folgender Eintrag gemacht werden:<br /><br />
<uses-permission android:name="android.permission.INTERNET"/><br /><br />
<br /><br />
=== '''Weitere Informationen''' ===<br />
https://www.max-it.de/softwareloesungen/<br /><br />
<br /><br />
<br />
=== '''Links und Quellen''' ===<br />
http://developer.xamarin.com/guides/android/getting_started/installation/configure_emulator/<br /><br />
<br /><br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, wenden Sie sich bitte gerne an mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /><br />
<br />
=== '''Tags''' ===<br />
Xamarin, mobile Softwareentwicklung, App-Entwicklung, App, Internet, Android-Emulator, Android<br />
[[Kategorie:Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Xamarin:_Einrichtung_der_Entwicklungsumgebung&diff=771Xamarin: Einrichtung der Entwicklungsumgebung2017-03-03T12:06:00Z<p>Ansp: </p>
<hr />
<div>==='''Symptom'''===<br />
Sie wollen mit Xamarin plattformübergreifend, mobile Entwicklung betreiben. Ich zeige Ihnen in den folgenden Schritten, wie Sie die Entwicklungsumgebung aufsetzen.<br />
=== ''' Ursache und Lösung'''===<br />
Sie benötigen: <br /><br /><br />
- Windows- PC <br /><br />
- Visual Studio 2015 (https://www.visualstudio.com/)<br /><br />
- Mac oder Mac OS X VM<br /><br />
- eine Xamarin BUSINESS Lizenz<br /><br /><br />
'''Windows-Vorbereitung'''<br /><br />
<br /><br />
1. Starten Sie den Visual Studio 2015 Installer <br /><br />
2. Wählen Sie bei der Installationsart „Benutzerdefiniert“<br /><br />
[[Datei: Einrichtung_der_Entwicklungsumgebung.jpg|left|thumb|400px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
3. Aktivieren Sie „C#/.NET (Xamarin) [Drittanbieter]“. Falls Sie für Android entwickeln wollen, können Sie hier auch noch die entsprechenden Android SDK und Emulatoren aktivieren.<br />
[[Datei: Einrichtung_der_Entwicklungsumgebung_2.jpg|left|thumb|400px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
4. Starten Sie die Installation.<br /><br />
<br /><br />
'''Mac-Vorbereitung'''<br /><br />
<br /><br />
1. Laden und installieren Sie Xcode. Dazu laden Sie Xcode über den Mac App Store oder laden die .dmg Datei von der Apple Developer Website (https://developer.apple.com/xcode/)<br /><br />
2. Öffnen Sie Xcode.<br /><br />
3. Führen Sie die Erstinstallation durch.<br /><br />
4. Laden und installieren Sie Xamarin Studio für Mac. (https://store.xamarin.com/account/my/subscription/downloads) Bei der Installation ist darauf zu achten, dass die entsprechenden iOS Bundles mitgeladen werden. <br /><br />
5. Öffnen Sie Xamarin Studio.<br /><br />
6. Aktivieren Sie Xamarin Studio mit ihrer Xamarin BUSINESS Lizenz.<br /><br />
7. Öffnen Sie die Xamarin.iOS Build Host App.<br /><br />
<br /><br />
'''Windows/Visual Studio'''<br /><br />
<br /><br />
1. Starten Sie Visual Studio 2015.<br /> <br />
2. Navigieren Sie zu „Extras“ – „Xamarin Account“.<br /><br />
3. Aktivieren Sie Ihre Xamarin Lizenz.<br /><br />
4. Navigieren Sie zu „Extras“ – „Optionen…“ – Xamarin<br /><br /><br />
'''Android Einstellungen:''' Hier sollte Ihnen angezeigt werden, dass die JDK’s installiert und im richtigen Verzeichnis liegen. Sollte dies nicht der Fall sein, laden Sie die entsprechenden JDK’S herunter. <br /><br />
<br /><br />
'''iOS Einstellungen: '''Um ein iOS Projekt zu bauen, brauchen Sie einen Mac als Build Host. Hier finden Sie die Funktion „Find Mac Build Host“. Diese verbindet Ihr Visual Studio mit Ihren Mac. <br /><br />
<br /><br />
1. Öffnen Sie die Xamarin.iOS Build Host App auf dem Mac / Mac OS X VM.<br /><br />
2. Klicken Sie auf „Pair“.<br /><br />
3. In Visual Studio - Klicken Sie auf „Find Mac Build Host“. Ihr Mac sollte nun in der Liste er-scheinen. <br /><br />
4. Geben Sie den „Pair“-Code vom Mac in die Eingabemaske ein. <br /><br />
<br /><br />
Das wars. Sie haben erfolgreich die Xamarin Entwicklungsumgebung eingerichtet.<br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/softwareloesungen/<br />
<br />
==='''Links und Quellen'''===<br />
http://www.xamarin.com/ <br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, wenden Sie sich bitte an uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
=== ''' Tags ''' ===<br />
Xamarin, Xcode, mobile Entwicklung , Visual Studio 2015<br />
<br />
[[Kategorie: Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Xamarin.iOS:Error_Disallowed_Paths&diff=770Xamarin.iOS:Error Disallowed Paths2017-03-03T12:05:45Z<p>Ansp: </p>
<hr />
<div>==='''Symptom'''===<br />
<br /><br />
'''Xamarin.iOS: Error „Disallowed Paths“ (iTunesMetaData.plist) '''<br /><br /><br />
Dieser Fehler tritt auf sobald eine Xcode-Archive Datei, die von Xamarin Studio für Mac erstellt wurde, mit dem „Xcode Organizer“ zu „iTunes Connect“ hochgeladen wird.<br />
[[Datei: Error_Meldung.png|left|thumb|500px]]<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
==='''Ursache und Lösung'''===<br />
Die fehlerhafte „iTunesMetadata.plist“ verhindert einen Upload zu „iTunes Connect“.<br /><br />
Um diesen Fehler zu umgehen, reicht es einfach die „iTunesMetadata.plist“ aus dem entsprechenden Xcode-Archiv zu löschen. Der Pfad zu den Archiven lautet: <br />
<pre>~/Library/Developer/Xcode/Archives</pre><br />
Navigieren Sie zum entsprechenden Archiv und lassen Sie sich den “Paketinhalt anzeigen”.<br />
[[Datei: Packetinhalt_anzeigen.png|left|thumb|600px]]<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
Navigieren Sie zur App und lassen Sie sich wieder den “Paketinhalt anzeigen”.<br />
[[Datei: Packetinhalt_zeigen2.png|left|thumb|600px]]<br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
In diesem Ordner liegt die „iTunesMetaData.plist“, diese entfernen.<br />
[[Datei: ITuneMetaData.plist.png|left|thumb|500px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/softwareloesungen/<br /><br />
<br />
==='''Links und Quellen'''===<br />
https://kb.xamarin.com/customer/portal/articles/1972936-why-does-my-app-submission-fail-with-%22disallowed-paths-%22itunesmetadata-plist%22-found-at-%22-<br />
<br /><br />
==='''Kontakt'''===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /> <br />
<br />
=== '''Tags''' ===<br />
Xamarin, iOS , Apple, iTunes, iTunes connect, error<br />
<br />
[[Kategorie: Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Xamarin.iOS:Downgrade_der_Entwicklungsumgebung&diff=769Xamarin.iOS:Downgrade der Entwicklungsumgebung2017-03-03T12:05:28Z<p>Ansp: </p>
<hr />
<div>==='''Symptom'''===<br />
Sollte es passieren, dass die „Stable“-Versionen der Xamarin-Entwicklungsumgebung Fehler enthalten, die sich derzeit nicht beheben lassen (z.B. Fehler durch eine neue Xcode Version verursacht), bleibt nur noch der Downgrade der Entwicklungsumgebung. <br /><br />
==='''Ursache und Lösung'''===<br />
Folgende Schritte müssen nun am Mac oder in der Mac OS VM durchgeführt werden: <br /><br /><br />
- Xamarin Studio App löschen (/Applications/Xamarin Studio.app)<br /><br />
- Xamarin iOS Build Host App löschen <br /><br /><br />
Anschließend müssen folgende Verzeichnisse manuell gelöscht werden:<br /><br /><br />
- /Developer/MonoTouch<br /><br />
- /Developer/MonoAndroid (falls vorhanden)<br /><br />
- /Library/Frameworks/Mono.framework<br /><br />
- /Library/Frameworks/Xamarin.Android.framework (falls vorhanden)<br /><br />
- /Library/Frameworks/Xamarin.iOS.framework <br /><br />
- /Library/Developer/Xamarin <br /><br /><br />
Wurde die Xcode.app aktualisiert, so muss auch diese App gelöscht werden und die alte Version installiert werden. (/Applications/Xcode.app)<br /><br />
Ältere Xcode Versionen, sowie andere Developer Tools, finden Sie unter: <br /><br />
https://developer.apple.com/downloads/<br /><br /><br />
Anschließend laden Sie die entsprechenden Installer von https://store.xamarin.com/account/my/subscription/downloads für die jeweiligen Plattformen herunter und installieren diese auf ihren Mac/ Mac OS VM und Ihren Windows-PC. <br /><br /><br />
- Xamarin.iOS für OS X<br /><br />
- Xamarin Studio für OS X<br /><br />
- Xamarin.iOS für Windows<br /><br /><br />
[[Datei: Download_Xamarin.png|left|thumb|400px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
Anschließend öffnen Sie die Xcode am Mac (/Applications/Xcode.app) und führen die erst Installation aus. Danach verbinden Sie Visual Studio wieder mit ihren Mac über die Xamarin.iOS Build Host App. (/Applications/Xamarin.iOS Build Host.app) <br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/softwareloesungen/<br /><br />
http://developer.xamarin.com/guides/cross-platform/getting_started/installation/uninstalling_xamarin/<br /><br />
<br />
==='''Links und Quellen'''===<br />
https://forums.xamarin.com/discussion/15372/visual-studio-ios-debug-build-failure <br /><br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, wenden Sie sich bitte an uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
=== ''' Tags ''' ===<br />
Xamarin, iOS , Downgrade, Visual Studio , Xcode, Windows, MonoTouch<br />
<br />
[[Kategorie: Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Xamarin.iOS:_Storyboards_Problem_nach_Up-grade_auf_XCode_7.0&diff=768Xamarin.iOS: Storyboards Problem nach Up-grade auf XCode 7.02017-03-03T12:05:06Z<p>Ansp: </p>
<hr />
<div>==='''Symptom'''===<br />
Sie haben ein Upgrade für die komplette Xamarin-Umgebung durchgeführt. Dabei haben Sie auf Ihrem Windows-Entwicklungsrechner die Xamarin.iOS Version auf 9.0 hochgezogen, und auf Ihrem Mac- Entwicklungsrechner haben Sie XCode auf die Version 7.0 hochgezogen. <br /><br />
Nun können Sie Ihre Storyboards in VisualStudio nicht mehr öffnen. Es lässt sich auch kein Build mehr aus VisualStudio erzeugen. Ein Xamarin.iOS Downgrade auf 8.10 hilft auch nicht mehr.<br /><br />
==='''Ursache und Lösung'''===<br />
Es gibt da tatsächlich Kompatibilitätsprobleme, die im Oktober 2015 auch in offiziellen Release-News von Xamarin teilweise kommuniziert wurden:<br /><br />
<pre><br />
https://forums.xamarin.com/discussion/50971/stable-release-xamarin-ios-9-0-ios-9-0-upstream-release/p1 <br />
[iOS] [Designer] The Xamarin iOS designer does not yet support Xcode 7 features. <br />
Storyboards will fail to load in designer with "There was a problem parsing the XML" when attempting to use new iOS 9 (Xcode 7) <br />
</pre><br />
Zuerst prüfen Sie bitte genauer, welche Fehlermeldungen in den Logs hinterlassen wurden.<br />
Xamarin-Logs finden Sie auf dem Mac über Finder: <br />
<pre><br />
Finder -> Menü „Gehe zu“ –> Menü „Gehe zu“ -> eintippen „~Library“ <br />
und dann navigieren zu: /Logs/Xamarin/MonoTouchVS/mtbserver.log<br />
</pre><br />
Möglicherweise finden Sie dort im Log einen Eintrag wie:<br />
<pre><br />
Exception: Exception type: Foundation.ObjCException<br />
NSInvalidArgumentException: *[NSInvocation _invocationWithMethodSignature:frame]: method signature argument cannot be nil<br />
</pre><br />
Und / oder Fehlermeldung: <br />
<pre><br />
Exception: Exception type: System.IO.DirectoryNotFoundException.<br />
Could not find a part of the path /Users/MyUser/Library/Caches/Xamarin/mtbs/builds/MyApp/ee246a90f/Resources/UrlHelper.xcassets/AppIcons.appiconset/Contents.json<br />
</pre><br />
Einleuchtend, es klingt nach fehlenden App-Icons! Gerne können Sie versuchen, zunächst die angeblich fehlenden Icons nachzupflegen, z.B. wie es bei Developer.Xamarin beschrieben ist: <br /><br />
https://developer.xamarin.com/guides/ios/application_fundamentals/working_with_images/app-icons/ <br /><br />
Aber auch das hilft i.d.R. nicht, da es da um einen Bug geht. Folgender Workarround kann dagegen helfen: <br /><br /><br />
1) .cproj-Datei Ihres Projektes manuell im Editor öffnen <br /><br />
2) Folgenden XML-Knoten komplett löschen:<br /><br />
<pre><br />
<ItemGroup><br />
<ImageAsset Include="Resources/UrlHelper.xcassets/AppIcons.appiconset/Contents.json"><br />
<InProject>false</InProject><br />
</ImageAsset><br />
<ImageAsset Include="Resources/UrlHelper.xcassets/LaunchImages.launchimage/Contents.json"><br />
<InProject>false</InProject><br />
</ImageAsset><br />
</ItemGroup><br />
</pre><br />
3) .cproj-Datei abspeichern<br /><br /><br />
Falls die .cproj sich nicht abspeichern lässt, stellen Sie sicher, dass Sie den Editor mit der Option „als Administrator“ gestartet hatten und erst danach die betroffene .cproj-Datei im Editor geöffnet hatten.<br /><br />
Und nun können Sie nach dem Löschen des fehlerhaften Xml-Knoten:<br /><br /><br />
- Storyboards im VisualStudio-Designer öffnen<br /> <br />
- Build erstellen<br /><br />
- App auf dem Simulator laufen lassen<br /><br />
- und endlich wieder weiter arbeiten! <br /><br />
=== '''Weitere Informationen''' ===<br />
https://www.max-it.de/managed-services/anwender-und-netzwerk/<br /><br />
<br />
=== '''Links und Quellen''' ===<br />
https://forums.xamarin.com/discussion/50971/stable-release-xamarin-ios-9-0-ios-9-0-upstream-release/p1<br /><br />
http://forums.xamarin.com/discussion/49839/suddenly-cant-build-error-performing-task-actool <br /><br />
https://forums.xamarin.com/discussion/52806/error-in-storyboard-after-xcode-upgrade<br /><br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br />
=== '''Tags''' ===<br />
Xamarin, App-Entwicklung, iOS Version, XCode Version, Upgrade, Kompatibilität, Storyboards, Build, Fehler<br />
<br />
[[Kategorie: Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Xamarin.Android:_Hinzuf%C3%BCgen_eines_Kalendereintrages&diff=767Xamarin.Android: Hinzufügen eines Kalendereintrages2017-03-03T12:04:41Z<p>Ansp: </p>
<hr />
<div>==='''Symptom'''===<br />
Sie möchten ein Kalenderevent programmatisch in Ihrer Android App erstellen.<br /><br />
==='''Ursache und Lösung'''===<br />
1. Fügen Sie die Berechtigung zum Kalender im „Android Manifest“ hinzu.<br /><br />
[[Datei: Kalendereintrag_Xamarin.jpg|left|thumb|500px]]<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
2. Fügen Sie „using Android.Provider“ im Header Ihrer Activity hinzu.<br /><br />
[[Datei: Kalendereintrag_Xamarin_2.jpg|left|thumb|500px]]<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
3. Erstellen Sie eine „ContentValues“-Instanz und setzen Sie die entsprechenden Parameter. Hierbei ist zu beachten das DateTime vorher in Millisekunden umgerechnet werden muss. <br />
[[Datei: Kalendereintrag_Xamarin_3.jpg|left|thumb|600px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
Hier eine Helper-Method, um DateTime in Millisekunden umzurechnen:<br />
[[Datei: Kalendereintrag_Xamarin_4.jpg|left|thumb|600px]]<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/softwareloesungen/<br /><br />
<br />
==='''Links und Quellen'''===<br />
https://developer.xamarin.com/guides/android/user_interface/calendar/<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, wenden Sie sich bitte an uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
=== ''' Tags ''' ===<br />
Xamarin, Android , Kalender<br />
<br />
[[Kategorie: Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Xamarin_MvvmLight-Binding_funktioniert_nicht&diff=766Xamarin MvvmLight-Binding funktioniert nicht2017-03-03T12:04:25Z<p>Ansp: </p>
<hr />
<div>==='''Symptom'''===<br />
Sie benutzen in Ihrer Xamarin Android-App oder Ihrer Xamarin iOS-App das Binding mit MVVMLight. Es sollten dabei die Daten aus einem ViewModel an die Controls gebunden werden, z.B. an eine Liste oder an einzelne Labels. Die Bindings setzen Sie dabei in OnCreate (Android) bzw. in ViewDidLoad (iOS):<br /><br /><br />
Android:<br /><br />
<pre> public class MeinActivity1 : ActivityBase<br />
{ <br />
private Binding<ArtikelDetails, ArtikelDetails> _meinBinding;<br />
<br />
protected override void OnCreate(Bundle bundle)<br />
{<br />
base.OnCreate(bundle);<br />
<br />
_meinBinding = <br />
this.SetBinding(() => MeinViewModel.ArtikelDetailsObjekt).WhenSourceChanges(() =><br />
{<br />
SetArtikelData();<br />
}<br />
}<br />
}<br />
</pre><br />
<br /><br />
iOS:<br />
<pre> public class MeinViewController1: ControllerBase<br />
{ <br />
private Binding<ArtikelDetails, ArtikelDetails> _meinBinding;<br />
<br />
public override void ViewDidLoad()<br />
{<br />
base.ViewDidLoad();<br />
<br />
_meinBinding = <br />
this.SetBinding(() => MeinViewModel.ArtikelDetailsObjekt).WhenSourceChanges(() =><br />
{<br />
SetArtikelData();<br />
}<br />
}<br />
}<br />
</pre><br /><br />
Dabei stellen Sie das Problem fest:<br /><br /><br />
Binding funktioniert nicht zuverlässig, die Daten werden nicht immer korrekt in den Controls angezeigt. Manchmal dauert es sehr lange, bis die Daten in die Controls geladen werden. Manchmal werden je-doch auch trotz langer Wartezeit überhaupt keine Daten angezeigt. <br />
==='''Ursache und Lösung'''===<br />
Erstens, Sie sollten das mit MVVMLight erzeugte Binding beim Verlassen der Maske unbedingt wieder abhängen. Sonst bleibt dieses an dem ViewModel hängen und ein erneutes Binding wird bei der Navigation nicht mehr korrekt funktionieren:<br />
<pre> if (_meinBinding != null)<br />
{<br />
_meinBinding.Detach();<br />
_meinBinding = null;<br />
}<br />
</pre><br />
Zweitens, es ist wichtig, den Lebenszyklus (Lifecycle) einer Activity bzw. eines ViewControllers genauer zu analysieren und Bindings zum jeweils richtigen Zeitpunkt zu behandeln.<br /><br /><br />
Was passiert, wenn Sie ein Binding in OnCreate/OnDestroy (Xamarin Android) bzw. in ViewDid-Load/ViewDidUnLoad (Xamarin iOS) erzeugen und abhängen? <br /><br /><br />
Dies erklären wir am Beispiel des Lifecycles einer Android-Activity:<br />
OnDestroy wird nur dann aufgerufen, wenn MeinActivity1 durch Klick auf den Navigationsbutton <BACK> verlassen wird. Wenn MeinActivity1 lediglich durch Aufruf einer weiteren MeinActivity2 verlassen wird, wird OnDestroy nicht aufgerufen. D.h. das Binding bleibt an Ihrem ViewModel hängen. <br />
Folge: Wenn Sie dann zum MeinActivity1 nochmals neu mit NavigationService.NavigateTo(MeinActivity1Key) navigieren, wird in OnCreate das Binding nochmals erzeugt. <br />
Und dann kommt es ärgerlicherweise zu Kollisionen.<br /><br /><br />
Workaround (nicht optimal, aber funktionierend): <br /><br /><br />
Xamarin Android:<br />
<pre>Binding in OnStart erzeugen, und dann in OnStop ablösen (detach).<br />
</pre><br />
Xamarin iOS:<br />
<pre>Binding in ViewWillAppear erzeugen, und dann in ViewDidDisappear ablösen (detach).<br />
</pre><br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/softwareloesungen/<br /><br /><br />
<br />
==='''Links und Quellen'''===<br />
http://developer.xamarin.com/guides/android/application_fundamentals/activity_lifecycle/#Activity_Lifecycle_Methods<br /><br />
http://developer.xamarin.com/guides/android/application_fundamentals/activity_lifecycle/saving_state_walkthrough/<br /><br /><br />
<br />
==='''Kontakt'''===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techCorner@max-it.de. <br /><br /><br />
==='''Tags'''===<br />
Xamarin, android, ios, binding, mvvmlight, app<br />
<br />
[[Kategorie:Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=WCF_Rest-Service&diff=765WCF Rest-Service2017-03-03T12:03:42Z<p>Ansp: </p>
<hr />
<div>==='''Aufgabenstellung'''===<br />
Einen WCF-Service mit REST/JSON-Funktionalität versehen: Der WCF-Service.<br />
==='''Lösung'''===<br />
Mit der Hilfe von WCF-Attributen kann aus einem normalen SOAP-Service mit WCF ein WCF-Service mit REST/JSON-Funktionalität erstellt werden. Anschließend muss noch die Konfigurationsdatei des Service ein wenig angepasst werden. Als Ausgangspunkt nehmen wir einen normalen SOAP-Service mit einer einfachen Methode.<br />
'''Projekt-Mappe SOAP-Service:'''<br />
[[Datei: WCF_Service.jpg.png|left|thumb|400px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
'''ISimpleService:'''<br />
<pre>[ServiceContract]<br />
public interface ISimpleService<br />
{<br />
[OperationContract]<br />
string GetSimpleData(int id);<br />
}<br />
</pre><br />
'''SimpleService:'''<br />
<pre> public class SimpleService : ISimpleService<br />
{<br />
public string GetSimpleData(int id)<br />
{<br />
return string.Format("Folgende Id wurde übergeben: {0}", id);<br />
}<br />
}<br />
</pre><br />
Für die Verwandlung in einen REST-Service wird die Interface-Klasse um WCF-Attribute erweitert.<br /><br /><br />
'''Projekt-Mappe REST-Service:'''<br />
[[Datei: WCF_Service_2.png|left|thumb|400px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
'''ISimpleService:'''<br />
<pre> [ServiceContract]<br />
[WebInvoke(UriTemplate = "getsimpledata?id={id}", Method = "GET", <br />
RequestFormat = WebMessageFormat.Json, <br />
ResponseFormat = WebMessageFormat.Json)]<br />
public interface ISimpleService<br />
{<br />
[OperationContract]<br />
string GetSimpleData(int id);<br />
}<br />
</pre><br />
'''UriTemplate'''- getsimpledata?id={id}: Das UriTemplate besteht aus Pfad und Abfrage-Parameter.<br /><br />
'''ResponseFormat'''- WebMessageFormat.Json -> Die Daten werden im JSON-Format zurückgegeben.<br /><br />
<br /><br />
'''SimpleService:'''<br />
<pre> public class SimpleService : ISimpleService<br />
{<br />
public string GetSimpleData(int id)<br />
{<br />
return string.Format("Folgende Id wurde übergeben: {0}", id);<br />
}<br />
}<br />
</pre><br />
Anschließend muss die web.config noch angepasst werden.<br /><br />
<br /><br />
'''web.config:'''<br />
<pre> <system.serviceModel><br />
<services><br />
<service name="SimpleWCFRestService.SimpleService" behaviorConfiguration="serviceBehavior"><br />
<endpoint address="" binding="webHttpBinding" contract="SimpleWCFRestService.ISimpleService" behaviorConfiguration="Web"> <br />
</endpoint><br />
</service><br />
</services><br />
<behaviors><br />
<serviceBehaviors><br />
<behavior name="serviceBehavior"><br />
<serviceMetadata httpGetEnabled="true"/><br />
<serviceDebug includeExceptionDetailInFaults="false"/><br />
</behavior><br />
</serviceBehaviors><br />
<endpointBehaviors><br />
<behavior name="Web"><br />
<webHttp /><br />
</behavior><br />
</endpointBehaviors><br />
</behaviors><br />
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" /><br />
</system.serviceModel><br />
</pre><br />
So jetzt ist es soweit: Aus dem SOAP-Service ist ein REST-Service geworden, der die Daten im JSON-Format zurückgibt.<br /><br />
<br /><br />
'''Aufruf REST-Service:'''<br />
<pre> http://localhost:49880/SimpleService.svc/getsimpledata?id=123456789 </pre><br />
'''Antwort im JSON-Format:'''<br />
<pre>"Folgende Id wurde übergeben: 123456789"</pre><br />
Hinweis: Das Beispiel zur Erläuterung der Vorgehensweise wurde mit .NET 4.5 erstellt.<br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/softwareloesungen/<br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
=== '''Tags''' ===<br />
.NET, C#, WCF, REST<br />
<br />
<br />
[[Kategorie: Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=SQL-Daten_%C3%BCber_ein_View_%C3%A4ndern,_l%C3%B6schen_und_hinzuf%C3%BCgen&diff=764SQL-Daten über ein View ändern, löschen und hinzufügen2017-03-03T12:03:26Z<p>Ansp: </p>
<hr />
<div>=== '''Symptom''' ===<br />
==== '''SQL-View als Zwischenschicht''' ====<br />
In der Regel greift man bei einem Microsoft SQL Server direkt auf eine SQL-Tabelle zu, um Daten zu ändern, hinzuzufügen oder zu löschen. Manchmal ist aber der Zugriff direkt auf die Tabelle nicht erwünscht, sondern es steht eine SQL-View dazwischen, die die Daten aufbereitet. Nun fragen Sie sich: ist es möglich, die Daten über diese SQL-View nicht nur abzufragen, sondern auch zu modifizieren? Die Antwort ist JA.<br /><br />
<br /><br />
==='''Ursache und Lösung'''===<br />
Ein mögliches Szenario, wozu man das brauchen könnte: <br />
Sie haben eine historisch gewachsene Datenbank, die Sie gerne umbauen möchten: einige nicht mehr benötigte Spalten löschen, neue Spalten erstellen und sogar die Datentypen einiger Spalten ändern. Sie wollen, dass Ihre neuen Applikationen saubere Daten zur Verfügung haben. Schön! Aber auf diese Datenbank greifen alte Applikationen zu, die Sie nicht anpassen wollen bzw. dürfen. Und da kann es nun hilfreich sein, für die alten Applikationen so eine Art Zwischenschichten, also SQL-Views bereitzustellen. Dann bekommen die alten Applikationen Ihren Umbau nicht mit und Sie können mit ruhigem Gewissen Ihre Datenbank neu verkleiden.<br /><br />
<br /><br />
Ein anderes Szenario: Sie wollen sicherstellen, dass die Applikation nur mit einer gefilterten Menge der Daten arbeitet und nie den Rest der Daten anfasst. Dann erzeugen Sie eine View mit Where-Klausel und mit Check Option. Nun steht der Applikation nur eine Schnittmenge der Daten zur Verfügung.<br /><br />
<br /><br />
==== '''SQL-View erzeugen''' ====<br />
Erzeugen Sie eine SQL-View mit den benötigten Spalten. Es können dabei Where und Join benutzt werden, falls notwendig. WITH CHECK OPTION bewirkt dabei, dass die Einschränkungen, die in der Where-Klausel vorkommen, bei der Änderung der Daten streng geprüft werden. <br /><br />
<br /><br />
<pre>CREATE VIEW Kunden<br />
<br />
AS<br />
SELECT<br />
bewegdaten.Id,<br />
bewegdaten.Name,<br />
bewegdaten.Vorname,<br />
stammdaten.OrtName as Ort<br />
<br />
FROM Kunden_Archiv bewegdaten<br />
JOIN Orte stammdaten ON bewegdaten.OrtId = stammdaten.Id<br />
<br />
WHERE Land='DE' <br />
<br />
WITH CHECK OPTION</pre><br />
<br />
==== '''SELECT aus View''' ====<br />
<pre>SELECT *<br />
FROM Kunden<br />
ORDER BY Id</pre><br />
Es kommt ganz normal ein Resultset zurück.<br /><br />
<br /><br />
==== '''UPDATE über View''' ====<br />
Wenn das UPDATE-Commando nur die Daten in der Basis-Tabelle ändert (es also keine Tabellen anfasst, die an Join geknüpft sind), dann ist es überhaupt kein Problem: <br /><br />
<pre>UPDATE Kunden<br />
SET Name='Müller'<br />
WHERE ID = 123</pre><br />
<br />
Falls die Änderung tiefer geht und mehrere Tabellen betrifft, dann brauchen Sie einen Trigger. Z.B.:<br /><br />
<br /><br />
<pre>CREATE TRIGGER TRG_Update_Kunden<br />
ON Kunden<br />
INSTEAD OF UPDATE<br />
<br />
AS<br />
BEGIN<br />
SET NOCOUNT ON;<br />
<br />
UPDATE Kunden_Archiv<br />
SET<br />
Name = inserted.Name,<br />
Vorname = inserted.Vorname,<br />
OrtId = stammdaten.Id,<br />
FROM inserted<br />
LEFT OUTER JOIN Orte stammdaten ON inserted.Ort = stammdaten.OrtName<br />
<br />
WHERE Kunden_Archiv.ID = inserted.ID<br />
<br />
<br />
- - ggf. Weitere Schritte, z.B. Insert in Historie-Tabelle<br />
END</pre><br />
<br />
==== '''DELETE über View''' ====<br />
Falls das View mehrere Tabellen verknüpft (JOIN), dann ist das Löschen nur mithilfe eines Triggers möglich. <br /><br />
Ansonsten bekommt man die Fehlermeldung:<br /><br />
<br /><br />
<pre>„Meldung 4405, Ebene 16, Status 1, Zeile 11“<br />
„Die Sicht oder Funktion 'Kundendaten' kann nicht aktualisiert werden, da die Änderung sich auf mehrere Basistabellen auswirkt.“</pre><br />
<br />
Lösung: InsteadOff-Trigger:<br /><br />
<pre> CREATE TRIGGER TRG_Delete_Kunden<br />
ON Kunden<br />
INSTEAD OF DELETE<br />
<br />
AS<br />
BEGIN<br />
SET NOCOUNT ON;<br />
<br />
-- Delete in Basistabelle<br />
DELETE Kunden_Archive<br />
FROM deleted<br />
WHERE Kunden_Archiv.ID = deleted.ID;<br />
<br />
-- ggf. Weitere Schritte, z.B. Insert in Historie<br />
<br />
END<br />
GO</pre><br />
<br />
==== '''INSERT über View''' ====<br />
Hier gibt desselbe: falls die View mehrere Tabellen verknüpft, dann benutzen Sie für das Hinzufügen der Daten einen „Instead Off Insert" - Trigger.<br /><br />
<br /><br />
=== '''Weitere Informationen''' ===<br />
https://www.max-it.de/softwareloesungen/<br /><br />
<br /><br />
<br />
=== '''Links und Quellen''' ===<br />
http://msdn.microsoft.com/de-de/library/ms180800.aspx<br />
http://dev.mysql.com/doc/refman/5.0/en/view-updatability.html<br /><br />
<br /><br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, wenden Sie sich bitte gerne an mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /><br />
<br />
=== '''Tags''' ===<br />
SQL, Microsoft SQL Server, Datenbank, View, Edit, Ändern, Join, Basistabelle<br />
<br />
[[Kategorie:Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=IOS-_Anpassen_der_Navigationbar_mit_Swift&diff=763IOS- Anpassen der Navigationbar mit Swift2017-03-03T12:02:51Z<p>Ansp: </p>
<hr />
<div>=== '''Symptom''' ===<br />
Das Anpassen der iOS Navigationbar über das Storyboard ist nicht immer ganz einfach. Ich zeige Ihnen einen Weg, wie Sie diese programmatisch anpassen können. <br />
==='''Ursache und Lösung'''===<br />
• Anpassen des Fonts<br /><br />
• Anpassen der Hintergrundfarbe<br /><br />
• Anpassen des Farbtons der Navigationbar Items, z.B. Back Button<br /><br />
<br />
[[File:IOS_NavigationBar.png|thumb|none|500px|IOS_NavigationBar.png]]<br /><br />
<br />
'''Ändern des Fonts'''<br /><br />
Die Veränderungen sollten Sie in der ViewDidLoad Methode machen. Die View wurde noch nicht geladen und ist noch nicht sichtbar. Das ist genau der richtige Zeitpunkt, um die Anpassungen vorzunehmen. Die iOS Navigationbar sprechen Sie folgender Maßen an:<br /><br />
<pre>self.navigationController?.navigationBar.titleTextAttributes</pre><br />
titleTextAttributes erwartet ein Array mit Font Attributen, z.B. '''[ NSFontAttributeName: UIFont(name: „Zapfino“, size: 16.0)!]'''<br /><br />
Der komplette Code sieht so aus:<br /><br />
<pre>self.navigationController?.navigationBar.titleTextAttributes = [ NSFontAttributeName: UIFont(name: „Zapfino“, size: 16.0)!]</pre><br />
Der Font sollte nun in Zapfino angezeigt werden.<br /><br /><br />
<br />
'''Ändern der Hintergrundfarbe'''<br /><br />
Die Hintergrundfarbe sprechen Sie so an:<br /><br />
<pre>self.navigationController?.navigationBar.barTintColor</pre><br />
Wie barTintColor schon vermuten lässt, wird hier ein UIColor Objekt erwartet, z.B. UIColor.orangeColor(). Der vollständige Code sieht so aus:<br />
Den Farbton sprechen Sie so an:<br />
<pre>self.navigationController?.navigationBar.tintColor</pre><br />
Wie barTintColor, benötigt auch tintColor ein UIColor Objekt, wie z.B. UICo-lor.whiteColor(). Der vollständige Code sieht so aus:<br />
<pre>self.navigationController?.navigationBar.barTintColor = UIColor.orangeColor()</pre><br />
Ihre Navigationbar sollte nun Orange eingefärbt worden sein.<br /><br /><br />
'''Ändern des Farbtons'''<br /><br />
Den Farbton sprechen Sie so an:<br /><br />
<pre>self.navigationController?.navigationBar.tintColor</pre><br />
Wie barTintColor so benötigt auch tintColor ein UIColor Objekt, wie z.B. UICo-lor.whiteColor(). Der vollständige Code sieht so aus:<br /><br />
<pre>self.navigationController?.navigationBar.tintColor = UIColor.whiteColor()</pre><br />
Ihre Navigationbar Items sollten nun eingefärbt sein.<br /><br />
<br /><br />
Hier noch einmal der ganze Code in XCode:<br />
[[File:Vollständiger_Code_in_Xcode.png|thumb|none|600px|Vollständiger_Code_in_Xcode.png]]<br /><br />
<br />
=== '''Weitere Informationen''' ===<br />
https://www.max-it.de/softwareloesungen/<br /><br />
<br />
=== '''Links und Quellen''' ===<br />
https://developer.apple.com/library/safari/documentation/UserExperience/Conceptual/MobileHIG/Bars.html <br /><br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br />
=== '''Tags''' ===<br />
iOS, swift, navigationbar, xcode<br />
<br />
[[Kategorie: Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=IOS_Simulator_Shortcuts&diff=762IOS Simulator Shortcuts2017-03-03T12:02:36Z<p>Ansp: </p>
<hr />
<div>==='''Nützliche iOS Simulator Shortcuts'''===<br />
<br /><br />
'''CMD + <-- '''<br /><br />
Nach links drehen Portrait/Landscape<br /><br /><br />
<br />
'''CMD + -->'''<br /><br />
Nach rechts drehen Portrait/Landscape<br /><br /><br />
<br />
'''^ + CMD + Z '''<br /><br />
Schüttel Geste<br /><br /><br />
<br />
'''SHIFT + CMD + H '''<br /><br />
Home Button<br /><br /><br />
<br />
'''CMD + L'''<br /><br />
Sperren<br /><br /><br />
<br />
'''SHIFT + CMD + M'''<br /><br />
Simuliert Speicher Warnung<br /><br /><br />
<br />
'''CMD + Y'''<br /><br />
Toggelt Ankommende Anrufe Status Bar<br /><br /><br />
<br />
'''SHIFT + CMD + K'''<br /><br />
Verbindet Hardware Keyboard<br /><br /><br />
<br />
''' CMD + K'''<br /><br />
Toggelt Software Keyboard<br /><br /><br />
<br />
'''CMD + T'''<br /><br />
Langsame Animationen<br /><br /><br />
<br />
''' CMD + /'''<br /><br />
Öffnet System Log<br /><br /><br />
<br />
'''SHIFT + CMD + I'''<br /><br />
Triggert iCLoud Sync<br /><br /><br />
<br />
'''CMD + S'''<br /><br />
Speichert Screenshot <br /><br /><br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/softwareloesungen/<br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, wenden Sie sich bitte an uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
=== ''' Tags ''' ===<br />
iOS, Simulator, Shortcuts<br />
<br />
<br />
[[Kategorie: Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=IOS_Anlegen_eines_neuen_iOS_Simulators&diff=761IOS Anlegen eines neuen iOS Simulators2017-03-03T12:02:23Z<p>Ansp: </p>
<hr />
<div>==='''Symptom'''===<br />
Sollten die Standard-Simulatoren nicht Ihre gewünschte Konfiguration haben, können Sie ganz einfach neue Simulatoren erstellen und bestehende bearbeiten. <br />
==='''Ursache und Lösung'''===<br />
1. Öffnen Sie Xcode<br /><br />
2. Navigieren Sie zu „Windows - Devices“ , Kurzbefehl '''SHIFT + CMD 2'''<br /> <br />
3. Klicken Sie auf den „+“ Button in der linken unteren Ecke<br /><br />
[[Datei: Anlegen eines neuen iOS Simulators.png|left|thumb|600px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
4. Nun können Sie einige Einstellungen vornehmen. iPad, iPhone, sowie verschieden iOS SDK’s sind hier möglich. Wahlweise können auch ältere SDK’s geladen werden. <br />
[[Datei: Anlegen eines neuen iOS Simulators 2.png.jpg|left|thumb|600px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
5. Klicken Sie auf „Create“. Ihr neuer Simulator sollte nun in Xcode auswählbar sein.<br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/softwareloesungen/<br />
<br />
==='''Links und Quellen'''===<br />
http://developer.apple.com/ <br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, wenden Sie sich bitte an uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
=== ''' Tags ''' ===<br />
Xcode , iOS , Simulator <br />
<br />
<br />
[[Kategorie: Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Http-Server_auf_dem_Mac&diff=760Http-Server auf dem Mac2017-03-03T12:02:06Z<p>Ansp: </p>
<hr />
<div>==='''Symptom'''===<br />
Mit OS X Mountain Lion hat Apple die Web-Server Funktion entfernt. Ich zeige Ihnen eine Methode, in der jedes Verzeichnis als http-Server fungieren kann. <br /><br />
<br /><br />
1. Legen Sie einen Ordner an, z.B. „lokalerServer“<br />
[[Datei: Http-Server auf dem Mac 1.jpg|left|thumb|700px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br />
2. Navigieren Sie via „cd“- Befehl zum gewünschten Verzeichnis<br />
[[Datei: Http-Server auf dem Mac 2.jpg|left|thumb|700px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
3. Starten Sie nun die Terminal.app und tippen folgenden Befehl ein:<br />
<pre> sudo python –m SimpleHTTPServer 8080</pre><br />
4. Jetzt müssen Sie noch Ihr Passwort eingeben und schon startet der http-Server<br />
[[Datei: Http-Server auf dem Mac 3.jpg|left|thumb|700px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
Um Ihr Verzeichnis aufzurufen, öffnen Sie Ihren Browser, z.B. „Safari“ und rufen die Seite „local-host:8080“ auf. Nun sollten Sie eine Auflistung Ihrer Verzeichnisse erhalten (hier leer, da kein Ordner/Dateien im „lokalerServer“- Ordner angelegt wurden) und die Terminal.app sollte einige „GET“- Re-quest anzeigen. <br />
[[Datei: Http-Server auf dem Mac 4.jpg|left|thumb|700px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/softwareloesungen/<br />
<br />
==='''Links und Quellen'''===<br />
http://www.maclife.com/article/columns/terminal_101_start_web_server_any_directory <br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, wenden Sie sich bitte an uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
=== ''' Tags ''' ===<br />
Webentwicklung, Mac OS X , HTTP-Server, Python , Terminal<br />
<br />
<br />
[[Kategorie: Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Filemaker&diff=759Filemaker2017-03-03T12:01:33Z<p>Ansp: </p>
<hr />
<div>==='''Aufgabenstellung'''===<br />
Den Benutzer davor bewahren, den gesamten Filemaker-Datenbestand versehentlich zu löschen.<br />
==='''Lösung'''===<br />
Falls man Benutzern den Menüpunkt „Alle Datensätze löschen“ vorenthalten will, so ist eine Möglichkeit, dies in einem Startscript anzugeben.<br /><br />
<br /><br />
Dazu fügt man ein neues Script hinzu und lässt dieses durch den „BeiErstemFensterÖffnen“-Script-Trigger auslösen. Im Script reicht es aus, unter Verschiedenes den Punkt „Menüset installieren“ hinzu-zufügen und dort ein neues Menüset unter „Angepasste Menüs verwalten“ anzugeben. Dort kann das daraufhin erscheinende „Angepasste Menüset 1“ bearbeitet und unter dem Titel „Datensätze“ der Me-nüpunkt „Alle Datensätze löschen“ herausgenommen werden.<br /><br />
Dies kann natürlich auch für andere Menüpunkte analog umgesetzt werden.<br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/softwareloesungen/<br />
<br />
==='''Links und Quellen'''===<br />
http://www.filemaker.com/help/13/fmp/de/html/create_script.13.33.html<br /><br />
http://www.filemaker.com/help/12/fmp/de/html/fmpa_custom.23.10.html <br />
=== ''' Kontakt ''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: <br /><br />
mailto:techcorner@max-it.de<br /><br />
Über m.a.x. Informationstechnologie AG: <br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittel-ständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung. <br /><br />
=== ''' Tags ''' ===<br />
Filemaker<br />
<br />
[[Kategorie: Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Bearbeiten_von_HTML_in_C&diff=758Bearbeiten von HTML in C2017-03-03T12:01:20Z<p>Ansp: </p>
<hr />
<div>==='''Symptom'''===<br />
HTML-Attribute in einer Zeichenkette sollen entfernt werden. Da die HTML-Struktur aber „zu kompliziert“ ist, können die Attribute nicht mit einem regulären Ausdruck zuverlässig gefunden und entfernt werden.<br />
==='''Ursache und Lösung'''===<br />
HTML oder XML kann in der Regel nicht mit regulären Ausdrücken fehlerfrei untersucht werden '''[1]'''.<br /><br />
Soll das Problem einfach und mit möglichst wenigen Abhängigkeiten zu anderen Komponenten gelöst werden, kann die Komponente CsQuery verwendet werden.<br /><br />
CsQuery bietet die Funktionalität von jQuery für C# wie z. B. alle CSS2/CSS3-Selektoren und DOM-Bearbeitungen. Dadurch können HTML-Manipulationen am Server einfach durchgeführt werden. CsQuery bringt keine weiteren Abhängigkeiten zu anderen Komponenten mit. '''[2]'''<br /><br />
Die hier gezeigte Lösung zum Entfernen von HTML-Attributen soll als Beispiel dafür dienen, wie einfach CsQuery verwendet werden kann.<br />
<pre> /// <summary><br />
/// Searches an HTML string for certain attributes and removes them.<br />
/// </summary><br />
/// <param name="s"></param><br />
/// <param name="selector">ex: "div>ul li:first-child"</param><br />
/// <param name="attributeName">The name of the attribute that should be removed</param><br />
/// <returns>The resulting HTML string.</returns><br />
public static IHtmlString RemoveAttribute(this IHtmlString s, String selector, String attributeName)<br />
{<br />
#region check preconditions<br />
<br />
if (s == null)<br />
{<br />
return null;<br />
}<br />
<br />
if (String.IsNullOrWhiteSpace(selector)) throw new ArgumentNullException("selector");<br />
if (String.IsNullOrWhiteSpace(attributeName)) throw new ArgumentNullException("attributeName");<br />
<br />
#endregion<br />
<br />
// instantiate CsQuery and initialize with the HTML string<br />
CQ q = CQ.Create(s.ToString());<br />
<br />
// select elements using <selector> and remove attributes<br />
q[selector].RemoveAttr(attributeName);<br />
<br />
// render the manipulated DOM and return it as a string<br />
return new HtmlString(q.Render());<br />
}<br />
</pre><br />
Dieser Code erzeugt ein CQ-Objekt und initialisiert es mit dem anfänglichen HTML-Inhalt. Dies kann ein vollständiges HTML-Dokument, aber auch nur ein Teil davon sein. Der Aufruf des Indexers „q[selector]“ entspricht dem jQuery-Aufruf von „find(selector)“ und gibt eine Auflistung der Elemente zurück, die vom angegebenen Selektor ausgewählt werden. Auf jedes Element dieser Ergebnismenge wird schließlich die Methode „RemoveAttr()“ angewendet.<br /><br />
Der Aufruf der Render()-Methode gibt den DOM-Inhalt des CQ-Objekts als HTML-String zurück.<br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/softwareloesungen/<br />
<br />
==='''Links und Quellen'''===<br />
'''[1]''' https://stackoverflow.com/a/1732454, 30.09.2015<br /><br />
'''[2]''' https://github.com/jamietre/CsQuery, 30.09.2015<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
=== '''Tags''' ===<br />
.Net, C#, jQuery, CsQuery, HTML, XML, DOM manipulation, CSS selectors, CSS2, CSS3, server-side<br />
<br />
[[Kategorie: Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Android:_ZipAlign_Fehler_Google_Play_Store&diff=757Android: ZipAlign Fehler Google Play Store2017-03-03T12:00:54Z<p>Ansp: </p>
<hr />
<div>==='''Symptom'''===<br />
Sie haben versucht eine nicht „zipalignte“ APK Datei in den Google Playstore zu laden. Ich zeige Ihnen in den folgenden Schritten, wie Sie diesen Fehler beheben können.<br />
==='''Ursache und Lösung'''===<br />
1. Laden Sie „zipalign“, z.B. von GitHub (https://github.com/catccaatt/zipalign). Das ZipAlign-Tool ist auch im Android SDK enthalten.<br /><br />
2. Geben Sie folgende Befehle ins Terminal ein:<br /><br />
<br /> <br />
„./zipalign –v4 +Dateipfad+ +DateipfadFürAuszugebendeDatei+“ <br /><br />
Beispiel: '''„./zipalign –v4 /Users/MoblieDeveloper4/Desktop/de.maxit.ffm.apk /Users/MobileDeveloper4/Desktop/de.maxit.ffm.aligned.apk“''' <br />
[[Datei: Fehler Google Play Store.jpg|left|thumb|600px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
Nun ist Ihre Datei mit dem ZipAlign-Tool bearbeitet worden und bereit für den Android PlayStore.<br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/mobile-applikationen/<br />
<br />
==='''Links und Quellen'''===<br />
http://developer.android.com/tools/help/zipalign.html<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, wenden Sie sich bitte an uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
=== ''' Tags ''' ===<br />
Android , zipalign , Developer Console , zipalign error<br />
<br />
<br />
[[Kategorie: Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Android_Emulator_Shortcuts&diff=756Android Emulator Shortcuts2017-03-03T12:00:37Z<p>Ansp: </p>
<hr />
<div>==='''Nützliche Android Emulator Shortcuts'''===<br />
<br /><br />
'''STRG + F11''' <br /><br />
Ändern der Layout Ausrichtung Portrait/Landscape rückwärts<br /><br /><br />
<br />
'''STRG + F12''' <br /><br />
Ändern der Layout Ausrichtung Portrait/Landscape vorwärts<br /><br /><br />
<br />
'''F2''' <br /><br />
Linker Softkey / Menu / Einstellung Button<br /><br /><br />
<br />
''' SHIFT + F2'''<br /> <br />
Rechter Softkey / Star Button <br /><br /><br />
<br />
'''ESC'''<br /><br />
Zurück Button<br /><br /><br />
<br />
'''F3'''<br /><br />
Anruf Button<br /><br /><br />
<br />
'''F4'''<br /><br />
Auflegen/Anruf beenden Button <br /><br /><br />
<br />
'''F5'''<br /><br />
Such Button <br /><br /><br />
<br />
'''CRTL + F5'''<br /><br />
Lautstäke + <br /><br /><br />
<br />
''' CRTL + F6'''<br /><br />
Laustärke –<br /><br /><br />
<br />
'''F8'''<br /><br />
Toggle Datenverbindung<br /><br /><br />
<br />
'''F9'''<br /><br />
Toggle Code Profiling<br /><br /><br />
<br />
'''ALT + Enter'''<br /><br />
Toggle Vollbild- Modus <br />
<br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/mobile-applikationen/<br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, wenden Sie sich bitte an uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
=== ''' Tags ''' ===<br />
Android, Emulator, Shortcuts<br />
<br />
[[Kategorie: Softwareentwicklung]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Windows_Volumenames_und_Volumepfade&diff=755Windows Volumenames und Volumepfade2017-03-03T11:59:27Z<p>Ansp: </p>
<hr />
<div>=== '''Symptom''' ===<br />
Unter Windows tauchen u.a. in der Ereignisanzeige als Identifikator für Festplattenpartitionen oft kryptische Bezeichner auf in der Form<br />
<pre>\\?\Volume{3213155e-a587-12e1-bfa8-806e6f6e5963}\</pre><br />
ohne dass erkennbar ist, auf welches Volume bzw. auf welche Partition sich die Information konkret bezieht. Es handelt sich dabei um den sogenannten Volumename. Auch die Windows Datenträgerverwaltung oder der Windows Servermanager zeigt die Volumenames nicht an für Partitionen, denen ein Laufwerksbuchstabe zugeordnet ist.<br /><br />
Ein Beispiel für ein solches Ereignis:<br />
<pre>Protokollname: System<br />
Quelle: volsnap<br />
...<br />
Beschreibung:<br />
Das Zeitlimit für den Lösch- und Speicherschreibvorgang für Volume "\\?\Volume{3871163e-a581-11e1-bed8-805e2f6a9153}" wurde beim Warten auf eine Schreibvorgangfreigabe überschritten.</pre><br /><br />
<br />
=== '''Lösung''' ===<br />
Starten Sie ein Kommandozeilenfenster mit administrativen Berechtigungen.<br /><br />
Geben Sie den Befehl ein<br />
<pre>vssadmin list volumes</pre><br />
Sie erhalten eine Liste aller im System eingebundenen Volumes mit deren Volumenames und den zugehörigen Volumepfaden (Laufwerksbuchstaben). Für Volumes, die keine Zuordnung zu einem Laufwerksbuchstaben besitzen, ist der Volumepfad identisch mit dem Volumename. Dies ist z.B. bei der standardmäßig eingerichteten Windows-Wiederherstellungspartition oder bei Backup-Partitionen der Fall.<br /><br />
Beispiel:<br />
<pre>vssadmin 1.1 - Verwaltungsbefehlszeilenprogramm des Volumeschattenkopie-Dienstes<br />
(C) Copyright 2001-2013 Microsoft Corp.<br />
<br />
Volumepfad: \\?\Volume{3213155e-a587-12e1-bfa8-806e6f6e5963}\<br />
Volumename: \\?\Volume{3213155e-a587-12e1-bfa8-806e6f6e5963}\<br />
Volumepfad: D:\<br />
Volumename: \\?\Volume{3871163e-a581-11e1-bed8-805e2f6a9153}\<br />
Volumepfad: C:\<br />
Volumename: \\?\Volume{3213155f-a587-12e1-bfa8-806e6f6e5963}\</pre><br /><br />
<br />
=== '''Weitere Informationen''' ===<br />
https://www.max-it.de/managed-services/anwender-und-netzwerk/<br /><br /><br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /><br />
<br />
=== '''Tags''' ===<br />
Alle Windows Versionen, Windows Server, Laufwerksbuchstaben, Volumepfad, Volumename, Volume-ID, Volumeidentifikator, vssadmin.exe<br />
<br />
[[Kategorie:Server-Software]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Windows_Server_Sicherung_mit_wbadmin.exe&diff=754Windows Server Sicherung mit wbadmin.exe2017-03-03T11:59:14Z<p>Ansp: </p>
<hr />
<div>=== '''Beschreibung''' ===<br />
In allen Windows Server Editionen seit Server 2008 steht die sogenannte „Windows Server Sicherung“ als Feature zur Block-Level-Sicherung des Systems sowie aller weiteren, lokal auf dem Windows Server zugänglichen Daten zur Verfügung. Wenn Sie eine Windows-Installation mit GUI besitzen, können Sie die Sicherung leicht über die Computerverwaltung einrichten und administrieren. Ggf. müssen Sie diese Komponente zuvor über die Rollen- und Feature-Verwaltung von Windows installieren.<br /><br />
<br />
Wenn Sie einen Windows Server in der Core-Version betreiben, oder einen kostenlos verfügbaren Hyper-V Server, der ebenfalls keine GUI besitzt, so können Sie die Konfiguration in der GUI per Remote-Verwaltung von einem anderen Server aus über die Windows Management Konsole (mmc.exe) vornehmen. Voraussetzung ist allerdings, dass es sich um eine Serverinstallation aus der identischen Servergeneration handelt. Die Verwaltungskonsole ist weder aufwärts- noch abwärtskompatibel und steht auch nicht über die RSAT Tools von einem Client-Betriebssystem derselben Generation zur Verfügung.<br /><br />
<br />
In jedem Falle können Sie jedoch die Windows Server Sicherung lokal über die Kommandozeile einrichten und administrieren. Die Verwaltung erfolgt zum größten Teil mit dem Tool<br /><br />
<pre>wbadmin.exe</pre><br /><br />
<br />
'''Einmalsicherungen'''<br /><br />
<br />
Sie können damit z.B. Einmalsicherungen durchführen, mit der folgenden Syntax:<br /><br />
<pre>wbadmin start backup -backupTarget:\\server\backuptarget -include:c:,d:\Daten -allCritical systemState -vssFull -user:domain\user -password:pw</pre><br />
<br />
Ersetzen Sie dabei \\server\backuptarget mit einer Netzwerkfreigabe, auf der das Backup abgelegt werden soll, oder durch den Laufwerksbuchstaben eines lokalen Datenträgers (z.B. e:) und geben Sie die in Ihrer Umgebung zu verwendenden User- und Passwortinformationen an. Die Userangaben können Sie weglassen, wenn Sie mit dem angemeldeten User arbeiten wollen. Den Parameter -vssFull verwenden Sie, wenn Sie parallel keine andere Backup-Software zur Sicherung desselben Servers verwenden, ansonsten geben Sie stattdessen -vssCopy an. Bei -include tragen Sie eine kommagetrennte Liste von Laufwerksbuchstaben oder Pfadangaben ein. Die Parameter -allCritical und -systemState stellen sicher, dass beim Backup ggf. zusätzlich zu den von Ihnen explizit angegebenen Sicherungsinhalten automatisch auch alle für eine Systemwiederherstellung auf einem frischen Server notwendigen Partitionen und Daten gesichert werden (Bare Metal Recovery).<br /><br />
<br />
Bei einer Einmalsicherung führt das System immer ein vollständiges Backup durch. Windows Server Backup beherrscht auch inkrementelle Backups, diese kommen jedoch nur bei Sicherungszeitplänen zum Einsatz.<br /><br /><br />
<br />
'''Sicherungszeitpläne'''<br /><br />
Um einen Sicherungszeitplan anzulegen, verwenden Sie den Befehl wie folgt:<br /><br />
<pre>wbadmin enable backup -addtarget:\\server\backuptarget -schedule:04:00 -include:c:,d:\Daten -allCritical -systemState -vssFull -allowDeleteOldBackups -quiet -user:domain\user -password:pw</pre><br />
<br />
Mit diesem Befehl wird dieselbe Sicherung wie oben im Beispiel mit der Einmalsicherung definiert und jeden Tag um 4:00 Uhr automatisch durchgeführt. Die Steuerung erfolgt über die Windows Aufgabenplanung, in der wbadmin einen entsprechenden Eintrag generiert. Bitte beachten Sie, dass die angegebenen Anmeldeinformationen sowohl die Berechtigung zur Durchführung eines Server Backups, zum Zugriff auf die zu sichernden Daten sowie zum Zugriff auf das spezifizierte Backup-Ziel haben müssen. Der Parameter -allowDeleteOldBackups stellt sicher, dass die Windows Server Sicherung automatisch die ältesten Backups auf dem Backup-Target löscht, wenn für die aktuelle Sicherung nicht mehr genügend freier Speicherplatz zur Verfügung steht. Dieser Parameter ist nur relevant, wenn Sie als Backup-Target ein lokales Laufwerk angeben. Bei Sicherung auf ein Netzwerkverzeichnis kann die Windows Server Sicherung in jedem Falle nur eine Backup-Version verwalten.<br /><br />
Wenn Sie die definierte Sicherung zu einem beliebigen Zeitpunkt manuell starten wollen, geben Sie dazu den Befehl<br /><br />
<pre>wbadmin start backup</pre><br />
<br />
ein. Windows zeigt dann im Takt von wenigen Sekunden jeweils den aktuellen Stand der Sicherung an. Dies können Sie mit Strg-C beenden. Dabei wird jedoch nur die Ausgabe des Status beendet, die Sicherung läuft als Hintergrundjob weiter. Wenn Sie die Sicherung selbst abbrechen wollen, geben Sie<br /><br />
<pre>wbadmin stop backup</pre><br />
<br />
ein.<br /><br />
<br />
Generell ist es nicht möglich, mehr als einen Sicherungszeitplan zu jedem Zeitpunkt auf einem Server zu definieren.<br /><br />
Um festzulegen, dass anstelle von vollständigen Backups nach Möglichkeit inkrementelle Backups durchgeführt werden, starten Sie die PowerShell mit administrativer Berechtigung und führen Sie den Befehl<br /><br />
<pre>set-WBPerformanceConfiguration -OverallPerformanceSetting AlwaysIncremental</pre><br />
<br />
aus. Diese Einstellung wirkt sich auf alle im Weiteren durchgeführten Backup-Läufe aus.<br /><br /><br />
<br />
'''Sicherung von Hyper-V Servern'''<br /><br />
Die Sicherung von Hyper-V Server mit wbadmin funktioniert genauso wie oben beschrieben, mit der Ergänzung, dass Sie zusätzlich noch einzelne virtuelle Maschinen als Backup-Inhalte definieren können. Z.B. können Sie folgenden Befehl verwenden:<br /><br />
<pre>wbadmin enable backup -addtarget:\\server\backuptarget -schedule:04:00 -include:c:,d:\Daten -hyperv:vm1,vm2,vm3 -allCritical -systemState -vssFull -allowDeleteOldBackups -quiet -user:domain\user -password:pw</pre><br />
<br />
Es ist hier zusätzlich zum vorherigen Beispiel angegeben, dass auch die virtuellen Maschinen vm1, vm2 und vm3 gesichert werden sollen. Beachten Sie bitte, dass bei der Sicherung einzelner VMs stets eine vollständige Sicherung der zugehörigen Dateien auf dem Host durchgeführt wird, was bei großen VMs zu erheblichen Laufzeiten führen kann. Wenn Sie ohnehin die Gesamtheit Ihrer virtuellen Maschinen sichern wollen, empfiehlt es sich, nicht die VMs mit dem Parameter -hyperv anzugeben, sondern die Partitionen des Servers, auf denen die VMs und VHDs liegen, mit dem Parameter -include in die Sicherung einzubeziehen. In diesem Falle führt wbadmin eine inkrementelle Sicherung auf Blockebene auch für die VMs durch.<br /><br /><br />
<br />
=== '''Einschränkungen''' === <br />
In der Praxis kommt es im Zusammenhang mit der Windows Server Sicherung immer wieder zu technischen Problemen, oft im Kontext mit den Volume Shadow Copy Service von Windows, auf dem wbadmin aufsetzt. Weiterhin fehlen in der Windows Server Sicherung ggf. wichtige Features wie die Kompression der auf das Target geschriebenen Backup-Daten oder die Deduplizierung des Backup-Datenvolumens. Zusammen mit der fehlenden Möglichkeit, das Backup serverübergreifend zu administrieren und zu monitoren empfehlen wir, diese Option nur bei sehr kleinen Installationen oder bei Test-Systemen zu verwenden und es nach Möglichkeit nur als Ergänzung zu anderen Backup-Methoden bzw. -Tools einzusetzen. Sollte die Windows Server Sicherung die einzige eingesetzte Backup-Lösung sein, so empfehlen wir in sehr kurzen Abständen die Ergebnisse der Backups und der VSS Komponenten über die Windows Ereignisanzeigen zu monitoren und in regelmäßigen Abständen die Wiederherstellung von Daten, VMs sowie des gesamten Servers zu testen.<br /><br /><br />
<br />
=== '''Weitere Informationen''' === <br />
https://www.max-it.de/managed-services/anwender-und-netzwerk/<br /><br /><br />
<br />
=== '''Links und Quellen''' ===<br />
http://technet.microsoft.com/en-us/library/cc754015.aspx<br /><br /><br />
<br />
=== '''Kontakt''' === <br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /><br />
<br />
=== '''Tags''' ===<br />
Windows Serer Sicherung, Backup, wbadmin.exe, Hyper-V Server, Windows Server Core, Windows 2008 R2, Windows 2012, Windows 2012 R2<br />
<br />
[[Kategorie: Server-Software]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Windows_Event_122_von_DeviceSetupManager_unterbinden&diff=753Windows Event 122 von DeviceSetupManager unterbinden2017-03-03T11:58:58Z<p>Ansp: </p>
<hr />
<div>=== '''Symptom''' ===<br />
Im Event-Log eines Windows Servers taucht immer wieder das Event Nr. 122 auf mit Quelle DeviceSetupManager und der Beschreibung<br /><br />
<br />
<pre>Der Zugriff auf Treiber auf Windows Update wurde durch eine Richtlinie blockiert</pre><br />
<br />
Dies tritt z.B. im Zusammenhang mit VSS Snapshots bzw. der Volumensicherung mit Windows Server Backup auf.<br /><br /><br />
<br />
=== '''Ursache und Lösung''' ===<br />
Windows versucht zusätzliche Informationen zu einem Gerät zu laden, wird jedoch von einer internen Einstellung daran gehindert.<br /><br />
Sie können dieses Problem lösen, indem Sie in den Geräteeinstellungen Ihres Servers das automatische Herunterladen von Treibern erlauben. Dazu führen Sie folgende Schritte aus:<br /><br />
::1. Öffnen Sie auf dem betreffenden Server die Systemsteuerung<br />
::2. Wählen Sie den Eintrag „Geräte und Drucker“<br />
::3. In der dann erscheinenden Übersicht finden Sie unter „Geräte“ einen Eintrag, der Ihren Server symbolisiert. Klicken Sie diesen mit der rechten Maustaste an.<br />
{|<br />
|-<br />
| [[Datei:Geräte und Drucker.png|left|thumb|300px]]<br />
|}<br />
<br />
::4. Wählen Sie im Menü den Eintrag „Geräteinstallationseinstellungen“<br />
{|<br />
|-<br />
| [[Datei:Geräteinstallationseinstellungen 1.png|left|thumb|300px]]<br />
|}<br />
<br />
::5. Im daraufhin erscheinenden Dialog wählen Sie entweder die Option „Automatisch Geräte-App und Informationen von Gerätehersteller abrufen“ oder die Option „Ja, automatisch ausführen (empfohlen)“<br />
{|<br />
|-<br />
| [[Datei:Geräteinstallationseinstellungen 2.png|left|thumb|400px]]<br />
|-<br />
| [[Datei:Geräteinstallationseinstellungen 3.png|left|thumb|400px]]<br />
|}<br />
<br />
Der beschriebene Fehlereintrag erscheint in Zukunft nicht mehr. <br /><br /><br />
<br />
=== '''Weitere Informationen''' ===<br />
https://www.max-it.de/managed-services/anwender-und-netzwerk/<br /><br /><br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /><br />
<br />
=== '''Tags''' ===<br />
Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Event 122<br />
<br />
[[Kategorie:Server-Software]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Windows_DFS-R_Replikation_wird_nach_Serverneustart_nicht_automatisch_fortgesetzt&diff=752Windows DFS-R Replikation wird nach Serverneustart nicht automatisch fortgesetzt2017-03-03T11:58:40Z<p>Ansp: </p>
<hr />
<div>=== '''Symptom''' ===<br />
Sie haben unter Windows 2012 bzw. 2012 R2 die Windows DFS-R Dateireplikation aktiviert, stellen aber fest, dass nach einem Absturz bzw. Neustart eines der beteiligten Server die Replikation nicht automatisch fortgesetzt wird.<br /><br /><br />
<br />
=== '''Ursache und Lösung''' ===<br />
Dies ist ein gewünschtes Verhalten des Windows Servers, das sich ab der Version 2012 auf diese Weise verändert hat. Durch die temporäre (ungeplante) Nichtverfügbarkeit eines der an dem DFS-R Verbund beteiligten Server kann es in Einzelfällen zu Replikationskonflikten kommen, bei denen die automatisch angewandten Strategien zur Konfliktlösung zu einem unerwünschten Ergebnis führen. Seit Windows Server 2012 wird daher die Replikation nach einem Serverneustart nicht automatisch fortgesetzt, um dem Administrator die Gelegenheit zu geben, mögliche Konfliktsituationen im Vorfeld zu erkennen und zu beheben.<br /><br />
In Umgebungen mit niedriger Last bzw. Änderungsraten im zu replizierenden Datenvolumen sind solche kritischen Konflikte jedoch recht unwahrscheinlich, so dass der Wunsch bestehen kann, die DFS-R Replikation nach Serverneustart automatisch fortzusetzen. Dies können Sie über einen Eintrag in der Windows Registry steuern, den Sie auf jedem beteiligten Windows Server setzen. <br />
Starten Sie dazu den Registrierungs-Editor und navigieren Sie zum Schlüssel<br /><br />
<br />
<pre>HKLM\System\CurrentControlSet\Services\DFSR\Parameters</pre><br />
<br />
Setzen Sie dort den DWORD Eintrag<br /><br />
<br />
<pre>StopReplicationOnAutoRecovery</pre><br />
<br />
auf den gewünschten Wert:<br /><br />
0 = automatische Wiederaufnahme der Replikation nach Absturz/Neustart<br /><br />
1 = keine automatische Wiederaufnahme der Replikation<br /><br />
<br />
{|<br />
|-<br />
| [[Datei:Registrierungs-Editor.png|left|thumb|800px]]<br />
|}<br /><br />
<br />
=== '''Weitere Informationen''' ===<br />
https://www.max-it.de/managed-services/anwender-und-netzwerk/<br /><br /><br />
<br />
=== '''Links und Quellen''' ===<br />
[http://support.microsoft.com/kb/2663685/en-us%20 http://support.microsoft.com'''/kb/2663685/en-us ]<br /><br /><br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /><br />
<br />
=== '''Tags''' ===<br />
Windows Server 2012, Windows Server 2012 R2, Replikation, DFS, DFS-R<br />
<br />
[[Kategorie:Server-Software]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Probleme_mit_der_Windows_Server_Sicherung&diff=751Probleme mit der Windows Server Sicherung2017-03-03T11:58:18Z<p>Ansp: </p>
<hr />
<div>=== '''Symptom''' ===<br />
Die Windows Server Sicherung bricht ab oder zeigt falsche Ergebnisse an, wenn das lokale Backup Zielspeichermedium voll ist.<br /><br />
Je nach spezifischer Situation bricht die Windows Server Sicherung mit einem Fehler ab oder speichert ohne Meldung nur die neueste Sicherung auf dem Sicherungsziel, obwohl in der GUI eine größere Anzahl an verfügbaren Sicherungsgenerationen angezeigt wird.<br /><br /><br />
<br />
=== '''Ursache und Lösung''' ===<br />
Die Windows Server Sicherung verwendet für die Sicherung und Verwaltung mehrerer Backup-Generationen auf einem lokalen Zielspeichermedium die Technik der Volumenschattenkopien. Wenn die Summe der Speicherbedarfe des aktuellen Backup-Sicherungssatzes zusammen mit den älteren Versionen aus vorhergehenden Sicherungen die Kapazität des Zielspeichermediums übersteigt, löscht Windows Backup automatisch ältere Sicherungsgenerationen nach Bedarf. Dieser Mechanismus funktioniert jedoch fallweise nicht korrekt, v.a. wenn der Umfang der Änderungen auf der Backup-Quelle zwischen zwei Backupläufen sehr groß ist. Im Ergebnis brechen nachfolgende Backupläufe dann ggf. mit einer Fehlernmeldung ab oder es ist nur die neueste Sicherung auf dem Sicherungsziel verfügbar, obwohl in der GUI eine höhere Anzahl an verfügbaren Sicherungsgenerationen angezeigt wird.<br /><br />
Zur Behebung dieser Situation führen Sie folgende Schritte durch:<br /><br /><br />
<br />
(A) Löschen Sie eine entsprechende Anzahl von alten Backupgenerationen. Starten Sie dazu auf dem betreffenden Server die Kommandozeile und führen sie den Befehl aus<br /><br />
<pre> wbadmin delete backup -keepversions:xx –quiet </pre><br />
xx steht für die Anzahl der Backupgenerationen, die nach der Löschung noch verfügbar sein sollen. <br /><br /><br />
(B) Falls dies das Problem nicht lösen sollte, bleibt Ihnen die Option, das Backupziel neu aufzusetzen<br /><br />
<br />
::a. Beenden Sie den Sicherungszeitplan<br />
::b. Formatieren Sie die Zielfestplatte neu<br />
::c. Richten Sie den Sicherungszeitplan neu ein<br /><br /><br />
<br />
(C) Verifizieren Sie das Ergebnis der Sicherungen nach mehreren Durchläufen. Prüfen Sie dazu einerseits die in der GUI angezeigten Werte für die verfügbaren Sicherungsgenerationen und verifizieren Sie die Verfügbarkeit der angezeigten Generationen, indem Sie testweise einzelne Dateien aus älteren Backupgenerationen wieder herstellen.<br /><br /><br />
<br />
=== '''Weitere Informationen''' ===<br />
https://www.max-it.de/managed-services/anwender-und-netzwerk/<br /><br /><br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /><br />
<br />
=== '''Tags''' ===<br />
Windows Server Backup, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Backup Target, Backup Zielspeicher voll<br /><br />
<br />
[[Kategorie: Server-Software]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Konfiguration_der_Windows_Firewall_per_Kommandozeile&diff=750Konfiguration der Windows Firewall per Kommandozeile2017-03-03T11:58:03Z<p>Ansp: </p>
<hr />
<div>=== '''Symptom''' ===<br />
In der Core-Installation von Windows Servern wollen Sie die Firewalleinstellungen ändern, es steht Ihnen jedoch die Verwaltungs-GUI für die „Windows-Firewall mit erweiterter Sicherheit“ nicht zur Verfügung. Insbesondere ist das z.B. bei den frei verfügbaren Hyper-V Core Servern der Fall, in denen Sie die Windows GUI auch nicht nachinstallieren können.<br /><br /><br />
<br />
=== '''Lösung''' ===<br />
'''Allgemein'''<br /><br />
Die Einstellungen der Windows Firewall können Sie mit dem Befehl<br /><br />
<pre>netsh advfirewall firewall</pre><br />
<br />
anpassen. Sie können entweder einzelne Ports öffnen oder schließen, z.B. mit<br /><br />
<br />
<pre>netsh advfirewall firewall add rule name="Port 80 oeffnen" dir=in action=allow protocol=TCP localport=80</pre><br />
<br />
oder vordefinierte Regelgruppen von Windows für bestimmte Anwendungszwecke verwenden. Dies umfasst dann ggf. mehrere Ports bzw. Einstellungen auf einmal. Beispielweise können Sie die Firewall für den Remotedesktop-Zugriff öffnen mit dem Befehl<br /><br />
<br />
<pre>netsh advfirewall firewall set rule group="Remotedesktop" new enable=yes</pre><br />
<br />
Windows bietet folgende vordefinierte Regelgruppen:<br /><br />
<br />
<pre>Windows-Firewallremoteverwaltung<br />
Remotedesktop<br />
Datei- und Druckerfreigabe<br />
Windows-Verwaltungsinstrumentation (WMI)<br />
Windows-Firewallremoteverwaltung<br />
Remotedienstverwaltung <br />
Distributed Transaction Coordinator<br />
Kernnetzwerk<br />
Leistungsprotokolle und -warnungen<br />
Schlüsselverwaltungsdienst<br />
Verwaltung virtueller TPM-Smartcards<br />
Microsoft Hyper-V-Verwaltungsclients<br />
Remote-Ereignisprotokollverwaltung<br />
iSCSI-Dienst<br />
Remotevolumeverwaltung<br />
Routing und RAS<br />
Windows-Remoteverwaltung (Kompatibilität)<br />
Windows-Remoteverwaltung<br />
Remoteverwaltung geplanter Aufgaben<br />
Datei- und Druckerfreigabe über SMBDirect<br />
Hyper-V-Replikat - HTTPS<br />
Hyper-V-Replikat - HTTP<br />
Hyper-V<br />
Anmeldedienst<br />
Netzwerkerkennung<br />
Remoteherunterfahren<br />
SNMP-Trap<br />
Überwachung für virtuelle Computer</pre><br />
<br />
'''Anwendungen'''<br /><br />
Zu Testzwecken kann es sinnvoll sein, auf einem Server, der sich nicht im Produktivbetrieb befindet, die Firewall-Einstellungen hinsichtlich Remoteverwaltbarkeit etwas großzügiger freizuschalten, ohne dabei die gesamte Firewall zu deaktivieren. Dafür bietet sich beispielsweise der folgende Satz an Befehlen an:<br /><br />
<br />
<pre>netsh advfirewall firewall set rule group="Windows-Firewallremoteverwaltung" new enable=yes<br />
netsh advfirewall firewall set rule group="Remotedesktop" new enable=yes<br />
netsh advfirewall firewall set rule group="Datei- und Druckerfreigabe" new enable=yes<br />
netsh advfirewall firewall set rule group="Windows-Verwaltungsinstrumentation (WMI)" new enable=yes<br />
netsh advfirewall firewall set rule group="Remotedienstverwaltung" new enable=yes<br />
netsh advfirewall firewall set rule group="Leistungsprotokolle und -warnungen" new enable=yes<br />
netsh advfirewall firewall set rule group="Remote-Ereignisprotokollverwaltung" new enable=yes<br />
netsh advfirewall firewall set rule group="Remotevolumeverwaltung" new enable=yes<br />
netsh advfirewall firewall set rule group="Windows-Remoteverwaltung" new enable=yes<br />
netsh advfirewall firewall set rule group="Remoteverwaltung geplanter Aufgaben" new enable=yes<br />
netsh advfirewall firewall set rule group="Leistungsprotokolle und -warnungen" new enable=yes</pre><br />
<br />
Für Hyper-V Server im Testbetrieb hat sich die Freischaltung folgender Ports und Regelgruppen bewährt:<br /><br />
<br />
<pre>netsh advfirewall firewall set rule group="Hyper-V" new enable=yes<br />
netsh advfirewall firewall add rule name=" TCP Port 6600 fuer Hyper-V Live Migration" dir=in action=allow protocol=TCP localport=6600<br />
netsh advfirewall firewall set rule group="Hyper-V-Replikat - HTTPS " new enable=yes<br />
netsh advfirewall firewall set rule group="Hyper-V-Replikat - HTTP" new enable=yes<br />
netsh advfirewall firewall set rule group="Überwachung für virtuelle Computer" new enable=yes</pre><br />
<br />
'''Bitte beachten Sie:''' Wir empfehlen, die Firewall auf einem Server im Produktivbetrieb aus Sicherheitsgründen in jedem Falle so restriktiv wie möglich zu konfigurieren. Dies gilt auch für Server, die sich im LAN befinden und selbst keine Portfreigaben ins Internet besitzen.<br /><br /><br />
<br />
=== '''Weitere Informationen''' ===<br />
https://www.max-it.de/managed-services/anwender-und-netzwerk/<br /><br /><br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /><br />
<br />
=== '''Tags''' ===<br />
Windows Server Firewall, Windows Firewall mit erweiterter Sicherheit, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server Core, Hyper-V Server 2008 R2, Windows Server 2012, Windows Server 2012 R2<br />
<br />
[[Kategorie: Server-Software]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Installation_von_Windows_Treibern_per_Kommandozeile&diff=749Installation von Windows Treibern per Kommandozeile2017-03-03T11:57:45Z<p>Ansp: </p>
<hr />
<div>=== '''Symptom''' ===<br />
Sie wollen auf einer Windows Server Core Installation ohne GUI Treiber installieren (z.B. auf einem kostenlos betreibbaren Microsoft Hyper-V Server). Die Treiber werden als .inf-Paket vom Anbieter zur Verfügung gestellt, ohne ausführbaren Installer. Die sonst übliche Weise der Installation über das Kontextmenü der .inf-Datei steht wegen der fehlenden GUI nicht zur Verfügung.<br /><br /><br />
<br />
=== '''Lösung''' ===<br />
Treiber, die als .inf-Pakete zur Verfügung gestellt werden, können über die Kommandozeile mit Hilfe des Windows-Tools<br />
<pre>pnputil.exe</pre><br />
installiert werden.<br /><br />
Starten Sie dazu ein Kommandozeilenfenster mit administrativen Rechten und führen Sie den Befehl aus<br />
<pre>pnputil.exe -i -a <.inf-Datei></pre><br />
wobei Sie für <.inf-Datei> Pfad- und Dateiname der betreffenden .inf-Datei angeben.<br /><br />
Die können auch mit Wildcards arbeiten, wenn sich in dem betreffenden Verzeichnis mehrere .inf-Dateien befinden, die alle installiert werden sollen. Z.B.<br />
<pre>pnputil.exe -i -a c:\Download\Treiber\*.inf</pre><br />
Hilfe zu weiteren Verwendungsoptionen der Installationstools bekommen Sie mit<br />
<pre>pnputil.exe -?</pre><br />
'''Hinweis:''' Das Tool steht auch in den Desktopvarianten von Windows zur Verfügung.<br /><br /><br />
<br />
=== '''Weitere Informationen''' ===<br />
https://www.max-it.de/managed-services/anwender-und-netzwerk/<br /><br /><br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /><br />
<br />
=== '''Tags''' ===<br />
Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Microsoft Hyper-V Server, Windows Core Server, Kommandozeile, Treiberinstallation<br />
<br />
[[Kategorie:Server-Software]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Installation_der_GUI_f%C3%BCr_die_Windows_Server_Sicherung&diff=748Installation der GUI für die Windows Server Sicherung2017-03-03T11:57:27Z<p>Ansp: </p>
<hr />
<div>=== '''Symptom''' ===<br />
Windows Server Backup GUI ist auf dem System nicht verfügbar und lässt sich nicht installieren.<br /><br />
Die Datei wbadmin.msc feht im Windows-Verzeichnis. Damit kann die GUI Version der Windows Server Sicherung nicht gestartet werden. Das System bietet nicht die Möglichkeit, die Serversicherung so zu installieren, dass die GUI verfügbar wird.<br /><br /><br />
<br />
=== '''Ursache und Lösung''' ===<br />
Der Grund für diese Problemstellung ist uns leider auch nicht bekannt. Die Lösung besteht aber darin, das Server Feature „Netzwerklastenausgleich“ zu installieren. Nach der Installation ist die GUI für das Server-Backup ebenfalls verfügbar.<br /><br />
Ein inhaltlicher Zusammenhang zwischen Server-Backup und Netzwerklastenausgleich besteht nicht, es ist zu vermuten, dass es sich hier um einen Bug ein den Installationsroutinen von Microsoft handelt.<br /><br />
Darauf deutet auch hin, dass nach anschließender Deinstallation des Netzwerklastenausgleichs-Features die Server Backup GUI im Regelfalle trotzdem weiter verfügbar bleibt.<br /><br />
<br /><br />
<br />
=== '''Weitere Informationen''' ===<br />
https://www.max-it.de/managed-services/anwender-und-netzwerk/<br /><br /><br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, wenden Sie sich bitte an uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /><br />
<br />
=== '''Tags''' ===<br />
Windows Server 2012, Windows Server 2012 R2, Windows Server Sicherung, Windows Netzwerklastenausgleich, Windows Feature Installation<br />
<br />
[[Kategorie: Server-Software]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Hyper-V:_VM_bleibt_dauerhaft_auf_falschem_Status_%E2%80%9ESicherung_wird_ausgef%C3%BChrt%E2%80%9C&diff=747Hyper-V: VM bleibt dauerhaft auf falschem Status „Sicherung wird ausgeführt“2017-03-03T11:56:54Z<p>Ansp: </p>
<hr />
<div>=== '''Symptom''' ===<br />
Auf Hyper-V Servern kommt es sporadisch zu der Situation, dass einzelne VMs dauerhaft den Status anzeigen<br /><br />
<pre>Sicherung wird ausgeführt...</pre><br />
Tatsächlich findet jedoch gar keine Sicherung statt. Der Staus lässt sich jedoch nicht durch den Administrator ändern oder zurücksetzen und verhindert einen großen Teil der normalerweise verfügbaren Management-Aktivitäten, wie Änderung der VM-Konfiguration, Start, Neustart, Replikations-Failover der VM, etc.<br /><br /><br />
<br />
=== '''Lösung''' ===<br />
Das Problem lässt sich durch einen Neustart des VM-Verwaltungsdienstes des Hyper-V Hosts beheben. Dies können Sie auf drei unterschiedlichen Wegen durchführen.<br /><br />
'''(A) Mit dem Hyper-V-Manager'''<br /><br />
# Klicken Sie im Hyper-V Manager mit der rechten Maustaste im linken Navigationsbereich auf den betreffenden Hyper-V Host und wählen Sie die Option „Dienst beenden“<br />
# Warten Sie, bis der Dienst beendet wurde<br />
# Klicken Sie im Hyper-V Manager mit der rechten Maustaste im linken Navigationsbereich auf den betreffenden Hyper-V Host und wählen Sie die Option „Dienst starten“<br /><br />
<br />
'''(B) Mit der Windows-Diensteverwaltung'''<br /><br />
# Starten Sie auf dem Hyper-V Host die Verwaltungskonsole für Dienste (z.B. über das Startmenü, Suche nach „Dienste“)<br />
# Suchen Sie den Dienst „Hyper-V-Verwaltung für virtuelle Computer“<br />
# Klicken Sie mit der rechten Maustaste auf den Dienst und wählen Sie „Neu starten“<br /><br />
<br />
'''(C) Per Kommandozeile'''<br /><br />
# Starten Sie ein Kommandozeilenfenster mit administrativen Rechten (z.B. über das Startmenü, Suche nach „cmd“, ausführen mit Strg-Shift-Enter)<br />
# Führen Sie die beiden Befehle aus<br />
<pre>sc stop vmms<br />
sc start vmms</pre><br />
Führen Sie danach einen Refresh der Anzeige im Hyper-V Manager aus (klicken Sie mit der rechten Maustaste auf den betreffenden Hyper-V Server und wählen Sie „Aktualisieren“).<br /><br />
<br />
Der Neustart des VM-Verwaltungsdienstes hat keine Auswirkung auf den laufenden Betrieb der virtuellen Maschinen. Solange der Dienst beendet ist, ist allerdings keine Administration der VMs möglich. Stellen Sie in jedem Falle sicher, dass der Dienst läuft, bevor Sie den Hyper-V Host herunterfahren oder neu starten, da die Durchführung der je VM definierten automatischen Stoppaktion beim Herunterfahren des Hosts (Status der VM speichern oder herunterfahren oder des Gastbetriebssystems) von dem Verwaltungsdienst abhängig ist. Wenn der Verwaltungsdienst beendet ist und Sie den Host herunterfahren, hat das ein Ausschalten (Power Off) aller aktiven VMs zur Folge.<br /><br /><br />
<br />
=== '''Weitere Informationen''' ===<br />
https://www.max-it.de/managed-services/anwender-und-netzwerk/<br /><br /><br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /> <br />
<br />
=== '''Tags''' ===<br />
Windows 2012 Server, Windows 2012 R2 Server, Windows 2012 Hyper-V Server, Windows 2012 R2 Hyper-V Server<br />
<br />
[[Kategorie: Server-Software]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Hyper-V_Datentr%C3%A4ger_hinzuf%C3%BCgen_und_entfernen&diff=746Hyper-V Datenträger hinzufügen und entfernen2017-03-03T11:37:50Z<p>Ansp: </p>
<hr />
<div>=== '''Beschreibung''' ===<br />
Im folgenden Tutorial zeigen wir Ihnen, wie Sie mit einem Hyper-V System zu einem Gast-System eine neue virtuelle Festplatte bzw. einen neuen Datenträger hinzufügen und auch wieder entfernen können:<br /><br />
<br /><br />
http://youtu.be/W8wSo_Hsuj0<br /><br />
<br /><br />
{|<br />
|-<br />
| [[Datei:Hyper-V Datenträger hinzufügen.png|left|thumb|600px]]<br />
|}<br /><br />
<br />
=== '''Weitere Informationen''' ===<br />
https://www.max-it.de/managed-services/anwender-und-netzwerk/<br /><br />
<br /><br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel oder dem Tutorial haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br /><br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittel-ständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung. <br /><br />
<br /><br />
<br />
=== '''Tags''' ===<br />
Hyper-V, Netzwerk, Datenträger<br />
<br />
[[Kategorie:Server-Software]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Die_Umbraco-Datenbank_w%C3%A4chst_schnell,_wenn_Contour-Formulare_verwendet_werden&diff=745Die Umbraco-Datenbank wächst schnell, wenn Contour-Formulare verwendet werden2017-03-03T11:37:27Z<p>Ansp: </p>
<hr />
<div>==='''Symptom'''===<br />
Die Umbraco-Datenbank wächst stetig an, weil Multi-Step-Formulare von Webseiten-Besuchern oder Spammern nicht abgeschlossen werden, sondern im Zustand „PartiallySubmitted“ verbleiben. <br /><br />
==='''Ursache und Lösung'''===<br />
Bei einer großen Besucheranzahl, die Contour-Formulare mit mehreren Schritten/Seiten ausfüllen, häufen sich Daten von Formularen an, die nie vollständig abgeschlossen, also nicht bis zum letzten Schritt ausgefüllt wurden. Diese Daten verbleiben in der Umbraco-Datenbank in den Contour-Tabellen<br /><br /><br />
• UFRecords<br /><br />
• UFRecordsXml<br /><br />
• UFRecordData*<br /><br /><br />
Die Menge der Daten in diesen Tabellen wächst daher immer weiter. Bei vielen Umbraco-Installationen mit Contour-Formularen können diese Daten einen großen Anteil an der Gesamtgröße der Datenbank ausmachen.<br /><br />
<br /><br />
Eine Lösung des Problems ist, unvollständige Formulardaten in regelmäßigen Abständen aus der Datenbank zu entfernen. Ein einfaches Datenbank-Skript übernimmt diese Aufgabe:<br />
<source lang="tsql"><br />
-- ==========================================================================<br />
-- Author: m.a.x. Informationstechnologie AG<br />
-- Create date: 2015-09-16<br />
-- Description: Deletes all Contour records for the given form which are older<br />
-- than @MaxAge days.<br />
-- Possible @FormState values are:<br />
-- 0 = Opened<br />
-- 1 = Resumed<br />
-- 2 = PartiallySubmitted (default)<br />
-- 3 = Submitted<br />
-- 4 = Approved<br />
-- 5 = Deleted<br />
-- @Limit (default: 50) limits the number of affected records.<br />
-- ==========================================================================<br />
CREATE PROCEDURE [dbo].[DeleteContourRecords] <br />
@FormId UNIQUEIDENTIFIER,<br />
@MaxAge INT = 50,<br />
@FormState INT = 2,<br />
@Limit INT = 50<br />
AS<br />
BEGIN<br />
SET NOCOUNT ON;<br />
<br />
BEGIN TRANSACTION<br />
<br />
-- Temporary table to store record IDs<br />
CREATE TABLE #records (<br />
id UNIQUEIDENTIFIER<br />
)<br />
<br />
-- Select records<br />
INSERT INTO #records<br />
SELECT TOP(@Limit) <br />
u.Id <br />
FROM UFRecords u <br />
WHERE updated < GETDATE()-@MaxAge AND u.State = @FormState AND u.Form = @FormId<br />
ORDER BY u.updated<br />
<br />
-- Delete records from data table<br />
DELETE FROM UFRecords WHERE id IN (SELECT id FROM #records)<br />
-- Delete records from XML cache table<br />
DELETE FROM UFRecordsXml WHERE id IN (SELECT id FROM #records)<br />
<br />
-- Remove temporary table<br />
DROP TABLE #records<br />
<br />
COMMIT<br />
END<br />
</source><br />
Als Stored Procedure aufgerufen, können damit sehr einfach unvollständige Formulardaten (Partially-Submitted = 2), die älter als 180 Tage sind, gelöscht werden. Beispiel:<br /><br />
<source lang="tsql"><br />
EXECUTE DeleteContourRecords '8B045F53-352A-4708-9A36-0DC8D67FD1AB' , 180, 2, 100<br />
</source><br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/softwareloesungen/<br /><br />
<br />
==='''Kontakt'''===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, wenden Sie sich bitte an uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
=== ''' Tags ''' ===<br />
Umbraco, Contour, SQL Server, Database Maintenance<br />
<br />
[[Kategorie: Server-Software]]</div>Ansphttps://techcorner.max-it.de/index.php?title=ASP.NET_bei_IIS_registrieren&diff=744ASP.NET bei IIS registrieren2017-03-03T11:36:34Z<p>Ansp: </p>
<hr />
<div>=== '''Symptom''' ===<br />
Auf Ihrem Windows-Server ist zwar IIS (Internet Information Services) bereits installiert, dieses kennt jedoch kein ASP.NET. Daher können Sie keine ASP.NET-Anwendungen sowie keine .Net-Webservices auf dem IIS hosten. <br /><br />
<br /><br />
=== '''Ursache und Lösung''' ===<br />
Das passiert, wenn die Installation von IIS nicht vollständig war oder falls Sie zuerst IIS und erst danach .Net installiert haben.<br /><br />
<br /><br />
'''Schritt 1: IIS Konfiguration prüfen'''<br /><br />
<br /><br />
Als erstes prüfen Sie bitte, ob bei IIS Konfiguration alle notwendigen Häkchen (s.u.) angeklickt sind. Gehen Sie hierzu in Systemsteuerung > Programme > Windows-Funktionen<br /><br />
<br />
{|<br />
|-<br />
| [[Datei:IIS Konfiguration 1.jpg|left|thumb|500px]]<br />
|-<br />
| [[Datei:IIS Konfiguration 2.jpg|left|thumb|500px]]<br />
|}<br /><br />
<br />
'''Schritt 2: Eingabeaufforderung (CommandPrompt) als Admin starten'''<br /><br />
<br /><br />
Jetzt klicken Sie auf CommandPrompt mit der rechten Maustaste und starten Sie diese als Administrator (das ist wichtig, ansonsten haben Sie keine Rechte zur Änderung der IIS-Konfiguration per Kommandozeile):<br /><br />
<br />
{|<br />
|-<br />
| [[Datei:IIS Konfiguration 3.jpg|left|thumb|400px]]<br />
|}<br /><br />
<br />
'''Schritt 3: ASP.NET registrieren'''<br /><br />
<br /><br />
Tippen Sie nun in der Kommandozeile folgende Kommandos:<br /><br />
<pre>cd c:\windows\microsoft.net\Framework\v4.0.30319</pre><br />
<br />
Anmerkung: Checken Sie diesen Pfad zunächst, dieser kann nämlich anders aussehen, wenn Sie eine andere .NET-Version haben. Hier: http://msdn.microsoft.com/de-de/library/k6h9cz8h(v=vs.100).aspx können Sie nachschlagen, welcher Speicherort welcher .NET-Version entspricht.<br /><br />
<pre>aspnet_regiis -ir</pre><br /><br />
<br />
{|<br />
|-<br />
| [[Datei:IIS Konfiguration 4.jpg|left|thumb|500px]]<br />
|}<br /><br />
<br /><br />
=== '''Weitere Informationen''' ===<br />
https://www.max-it.de/managed-services/anwender-und-netzwerk/<br /><br />
<br /><br />
<br />
=== '''Links und Quellen''' ===<br />
http://msdn.microsoft.com/de-de/library/k6h9cz8h(v=vs.100).aspx<br /><br />
<br /><br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, wenden Sie sich bitte gerne an mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /> <br />
<br />
=== '''Tags''' ===<br />
ASP.NET, IIS, ASP.NET nachinstallieren, ASP.NET registrieren<br />
<br />
[[Kategorie:Server-Software]]</div>Ansphttps://techcorner.max-it.de/index.php?title=.Net_MailMessage-Objekt_als_EML-Datei_speichern&diff=743.Net MailMessage-Objekt als EML-Datei speichern2017-03-03T10:56:07Z<p>Ansp: </p>
<hr />
<div>==='''Symptom'''===<br />
E-Mail-Nachrichten, die von einem Webserver erzeugt werden, können wegen eines Fehlers (z. B. Netzwerkfehler, Programmfehler, etc.) nicht verschickt werden und gehen sofort verloren. Die Fehlersuche wird dadurch erheblich erschwert.<br />
==='''Ursache und Lösung'''===<br />
Tritt ein Fehler beim Mailversand auf, kann der Fehler zwar mit den üblichen Logging-Mechanismen registriert werden, die Original-E-Mail aber ist verloren. Insbesondere wenn ein Netzwerkfehler vorliegt und die E-Mail daher auch nicht verdeckt (BCC) an Standardempfänger geschickt werden kann, bietet sich die Lösung an, das MailMessage-Objekt für die Fehlersuche als EML-Datei auf dem Server zu speichern. <br /><br />
EML-Dateien enthalten den gesamten Inhalt einer E-Mail und deren Kopfdaten, also z. B. auch Informationen über Absender und Empfänger. EML-Dateien können mit E-Mail-Programmen wie MS Outlook oder Mozilla Thunderbird direkt geöffnet werden.<br /><br />
Mithilfe der statischen Erweiterungsklasse „MailMessageExtensions“ kann ein MailMessage-Objekt direkt als EML-Datei gespeichert werden.<br />
<pre>using System;<br />
using System.Collections.Generic;<br />
using System.IO;<br />
using System.Linq;<br />
using System.Net.Mail;<br />
using System.Text;<br />
<br />
namespace MaxIt.TechCorner<br />
{<br />
public static class MailMessageExtensions<br />
{<br />
<br />
/// <summary><br />
/// Stores a MailMessage as EML file.<br />
/// </summary><br />
/// <param name="message">The MailMessage object to be stored.</param><br />
public static void Archive(this MailMessage message)<br />
{<br />
using (SmtpClient diskclient = new SmtpClient("mysmtphost"))<br />
{<br />
diskclient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;<br />
diskclient.PickupDirectoryLocation = "%TEMP%\\mails";<br />
diskclient.Send(message);<br />
}<br />
}<br />
}<br />
}<br />
</pre><br />
Dazu wird ein neues SmtpClient-Objekt erzeugt, dessen Option „DeliveryMethod“ den Wert „SmtpDe-liveryMethod.SpecifiedPickupDirectory“ erhält. Dadurch wird beim Versand das MailMessage-Objekt als EML-Datei gespeichert. Der Speicherort wird der Eigenschaft „PickupDirectoryLocation“ zugewiesen.<br /><br />
Verwendet wird die Erweiterung, indem deren Namespace eingebunden und im Code die Archive()-Methode für das MailMessage-Objekt aufgerufen wird:<br />
<pre>System.Net.Mail.SmtpClient smtpclient;<br />
System.Net.Mail.MailMessage message;<br />
<br />
// ...<br />
<br />
try<br />
{<br />
// Try to send message<br />
smtpclient.Send(message);<br />
}<br />
catch (Exception ex)<br />
{<br />
// Archive message<br />
message.Archive();<br />
}<br />
</pre><br />
Zusätzlich zu fehlerbeschreibenden Logging-Nachrichten steht so auch die E-Mail selbst, inklusive eventuell vorhandener Dateianhänge, für die Fehlersuche zur Verfügung.<br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/managed-services/anwender-und-netzwerk/<br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
=== '''Tags''' ===<br />
.Net, SmtpClient, MailMessage, archive, EML, store to disk<br />
<br />
<br />
[[Kategorie: Server-Software]]</div>Ansphttps://techcorner.max-it.de/index.php?title=.NET_Framework_3.5_Installation_bricht_ab&diff=742.NET Framework 3.5 Installation bricht ab2017-03-03T10:55:23Z<p>Ansp: </p>
<hr />
<div>=== '''Symptom''' ===<br />
.NET Framework 3.5 lässt sich nicht installieren auf einem Windows 2012 Server oder Windows 8 Systeme, obwohl der korrekte Alternativpfad angegeben wurde.<br /><br />
Die Installation, durchgeführt per<br /><br />
''Server Manager → Rollen und Features hinzufügen → Features → .NET Framework 3.5-Funktionen''<br /><br />
bricht ab mit der Fehlermeldung<br /><br />
<pre>„Die Quelldateien konnten nicht gefunden werden“</pre><br />
(im Installationsdialog) bzw.<br /><br />
<pre>„0x800f0906 Die Quelldateien konnten nicht heruntergeladen werden.“</pre><br />
(bei Installation per PowerShell Kommandozeile), obwohl die Installationsquelle als alternativer Quellpfad korrekt angegeben wurde<br /><br />
<pre>[Windows-Installationsmedium]:\sources\sxs</pre><br /><br />
<br />
=== '''Ursache und Lösung''' ===<br />
Microsoft stellt zum .NET Framework 3.5 Sicherheitsupdates per Windows Update bereit, die teilweise im System installiert werden, obwohl das Framework selbst gar nicht installiert ist. Solche Sicherheitsupdates können die nachträgliche Installation von .NET Framework 3.5 blockieren.<br /><br />
'''Lösung (A)'''<br /><br />
Installieren Sie .NET Framework 3.5, bevor Sie Windows Updates installieren.<br /><br />
'''Lösung (B)'''<br /><br />
# Deinstallieren Sie die bereits installierten Windows-Sicherheitsupdates für .NET Framework 3.5 ''Systemsteuerung → Software und Features → Installierte Updates''<br />
# Installieren Sie .NET Framework 3.5 wie oben beschrieben<br />
# Installieren Sie alle relevanten Windows-Sicherheitsupdates über Windows Update<br /><br /><br />
<br />
=== '''Weitere Informationen''' ===<br />
https://www.max-it.de/managed-services/anwender-und-netzwerk/<br /><br /><br />
<br />
=== '''Links und Quellen''' ===<br />
http://support2.microsoft.com/kb/2734782 <br /><br /><br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /><br />
<br />
=== '''Tags''' ===<br />
Windows Server 2012, Windows Server 2012 R2, Windows 8, Windows 8.1<br /><br />
Installation .NET Framework 3.5<br /><br />
Sicherheitsupdates<br /><br />
<br />
[[Kategorie: Server-Software]]</div>Ansphttps://techcorner.max-it.de/index.php?title=SmartStorage-Komponenten&diff=741SmartStorage-Komponenten2017-03-03T10:53:39Z<p>Ansp: </p>
<hr />
<div>=== '''Lösung''' ===<br />
Das SmartStorage stellt eine neue, innovative Hochleistungs-Storage-Lösung dar und ist damit die ideale Grundlage für jede Art von Speicher-, Virtualisierungs- oder Backupanwendung.<br /><br />
<br />
Bereits die Basisarchitektur mit zwei Nodes garantiert den Anwendungsservern durch InfiniBand-Anbindung nicht nur höchstmögliche Bandbreite und minimale Latenzen bei der Datenübertragung, sie ermöglicht mit RDMA-Zugriff zusätzlich einen bislang nicht gekannten Performanceschub. Durch eine hocheffiziente, zweistufige Caching-Struktur mit RAM und Flash-Layern stellt die Storage-Einheit sicher, dass die benötigten Daten für alle Anwendungen jederzeit mit minimaler Verzögerung zur Verfügung stehen. Damit war kein System jemals so nah dran an reinen In-Memory-Lösungen.<br /><br />
<br />
=== '''Komponenten für SmartStorage''' ===<br />
<br /><br />
'''Switches''' <br /><br />
Die Mellanox Switches zeichnen sich durch einen enorm hohen Datendurchsatz bei überschaubaren Kosten aus. Dabei können die genutzten Verbindungen entweder über InfiniBand (mit 56Gbit/s) oder über Ethernet (40Gbit/s) realisiert werden. <br /><br />
<br />
'''Nodes'''<br /><br />
Als Storagenodes kommen übliche x86 Systeme zum Einsatz die mit Standardkomponenten erweitert werden können. Durch die Kombination von modernen Verbindungstechniken wie InfiniBand oder 40GbE werden extrem hohe Übertragungsraten erreichet die sonst nur bei Lösungen im Enterprise Bereich möglich sein. Die den Einsatz von Standard Hardware bleiben die Kosten aber trotzdem überschaubar.<br /><br />
<br />
'''Shelfs'''<br /><br />
Die eingesetzten Disk Shelfs werden über 12 Gbit SAS Verbindungen an die Storagenodes angeschlossen. Durch die offene Architektur der Shelf-Systeme besteht keine Herstellerbindung für die eingesetzten Disks/SSDs. Dadurch können sehr günstige Speichersysteme mit hohen Kapazitäten aufgebaut werden und man profitiert schneller von neuen Entwicklungen im Bereich der Disks/SSD Technologie.<br /><br />
<br />
<br />
=== '''Weitere Informationen''' ===<br />
Weitere Informationen zu Hintergründen, Mehrwerten und Anwendungsbereichen finden Sie unter:<br /><br />
https://www.max-it.de/storage-und-infrastruktur/maxcentral/<br /><br />
<br />
=== '''Links und Quellen''' ===<br />
http://www.mellanox.com<br /><br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG:<br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br />
=== '''Tags''' ===<br />
SmartStorage, SmartStorage-Komponenten, SmartStorage-Kabel, SmartStorage-Switche, SmartStorage-Adapter, Server<br />
<br />
[[Kategorie: Server & Storage]]</div>Ansphttps://techcorner.max-it.de/index.php?title=IBM_Spectrum_Scale&diff=740IBM Spectrum Scale2017-03-03T10:52:29Z<p>Ansp: </p>
<hr />
<div><br />
Die Software von IBM ist eine skalierbare Hochleistungslösung für das Management von Daten und Dateien. Seine Basis bildet die Technologie des ebenfalls von IBM entwickelten General Parallel File Systems (GPFS). Dieser Ansatz ermöglicht Speichermanagement mit höchster Skalierbarkeit. Die Leistung wird durch Flash beschleunigt. Das Tiering (Flash-, Platten- und Bandspeicher) erfolgt automatisch und richtlinienbasiert. Speicherkosten werden damit um bis zu 90 Prozent reduziert, während die Managementeffizienz und die Sicherheit in Cloud-, Big-Data- und Analyseumgebungen steigen.<br /><br /><br />
<br />
=== ''' Überblick über Funktion und Interface ''' ===<br />
IBM Spectrum Scale bietet Systemskalierbarkeit sowie extrem hohe Verfügbarkeit und Zuverlässigkeit ohne kritische Fehlerquellen (Single Points of Failure). <br />
Das System beinhaltet integrierte Managementtools zur Verwaltung von Daten im Petabyte-Bereich sowie von Milliarden von Dateien.<br />
Dieser Ansatz erleichtert das Information Lifecycle Management (ILM) und ermöglicht mithilfe verschiedener Speicherstufen (einschließlich Band) eine erhebliche Senkung der Datenverwaltungskosten.<br />
IBM Spectrum Scale bietet Multi-Protokoll-Unterstützung mit nativem Zugriff: NFS v3.0 und v4.0, SMB v2.0 und v3.0; OpenStack Swift und S3.<br />
<br />
Eine neue grafische Benutzeroberfläche für häufige Administrationsaufgaben beschleunigt die Bereitstellung, Konfiguration und Überwachung von IBM Spectrum Scale Clustern. Sie verbessert die Administratorproduktivität und erleichtert neue Implementierungen.<br /><br />
<br />
=== ''' Benutzeroberfläche ''' ===<br />
Benutzeroberfläche für Storage-Administratoren im neuen modernen Design, hier ein paar Beispiele:<br />
<br /><br />
<br /><br />
<br />
<div><ul> <br />
<li style="display: inline-block;"> [[File:LogIn.jpg|thumb|none|500px|SmartStorage IBM Spectrum Scale Login Screen]] </li><br />
<li style="display: inline-block;"> [[File:Dashboard.jpg|thumb|none|500px|SmartStorage Dash Board mit wesentlichen Leistungs- und Überwachungswerten]] </li><br />
</ul></div><br />
<br />
<br /><br />
<br />
<div><ul> <br />
<li style="display: inline-block;"> [[File:Topology1.jpg|thumb|none|500px|Topologie-Überblick über die verwalteten GPFS Knoten und Komponenten]] </li><br />
<li style="display: inline-block;"> [[File:Topology2.jpg|thumb|none|500px|GPFS Node- und NSD-Struktur]] </li><br />
</ul></div><br />
<br />
<br /><br />
<br />
<div><ul> <br />
<li style="display: inline-block;"> [[File:Performance1.jpg|thumb|none|500px|Vielfältige Selektionsoptionen für das GPFS Performancemonitoring]] </li><br />
<li style="display: inline-block;"> [[File:Performance2.jpg|thumb|none|500px|Beispiel Performancereporting SmartStorage mit IBM Spectrum Scale Storage im Normalbetrieb ]] </li><br />
<li style="display: inline-block;"> [[File:Performance3.jpg|thumb|none|500px|SmartStorage mit IBM Spectrum Scale Storage unter Last: 1GB/s bei 140.000 IOPs<br />
(SmartStorage Architektur mit Intel Server und InfiniBand-Vernetzung, zwei Produktiv- und ein Quorum-GPFS-Knoten, Spindel-HDD-Storage)<br />
]] </li><br />
</ul></div><br />
<br />
=== ''' Weitere Informationen ''' ===<br />
https://www.max-it.de/storage-und-infrastruktur/maxcentral/<br />
<br />
=== ''' Links und Quellen ''' ===<br />
http://www-03.ibm.com/systems/de/storage/spectrum/scale/resources.html<br /><br />
http://www-03.ibm.com/systems/de/storage/spectrum/scale/index.html<br />
<br />
=== ''' Kontakt ''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: TechCorner@max-it.de <br />
<br />
=== ''' Tags ''' ===<br />
Spectrum Scale, IBM, Storage, Flash, NFS, SMB<br />
<br />
[[Kategorie: Server & Storage]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Cloud-Backup&diff=739Cloud-Backup2017-03-03T10:50:57Z<p>Ansp: </p>
<hr />
<div>Hinweis:<br /><br />
Die hier beschriebene Lösung ist ein Serviceangebot der m.a.x. Informationstechnologie AG, das sich aus Drittanbieter-Produkten, eigenen Produkten sowie Dienstleistungen der m.a.x. it zusammensetzt.<br /><br />
=== ''' Herausforderung ''' ===<br />
Für Unternehmen ist die zuverlässige Datensicherung von enormer Bedeutung, um die Daten im Bedarfsfall schnell wieder herzustellen.<br /><br />
<br />
=== ''' Lösung ''' ===<br />
Mit dem Cloud Backup werden die Daten zusätzlich zu einem lokalen Speicher automatisch in einer Private Cloud gespeichert. Das interne Backup erfolgt auf ein lokal im Unternehmen als Appliance installiertes Backup-Ziel. Für das Backup in die Private Cloud wird zugehörig ein entsprechendes Storagevolumen im Rechenzentrum gemietet. Diese beiden Backup-Einheiten stellen vollautomatisch sicher, dass alle Daten aus der lokalen Einheit in die Rechenzentrums-basierte Einheit übertragen werden. Die Sicherung und Übertragung erfolgt dabei komprimiert, verschlüsselt und dedupliziert. Damit sind die Daten auch außer Haus vorgehalten und können im Bedarfsfall schnell und zuverlässig wiederhergestellt werden, auch wenn das lokale Backupziel nicht mehr verfügbar sein sollte.<br /><br />
<br />
=== ''' Vorteile ''' ===<br />
''' Sicherer Schutz von Daten '''<br /><br />
Die Daten werden extern mit starker Datenverschlüsselung und vollem Zugriffsschutz in professionell gemanagten Rechenzentren gesichert. Nur der Kunde hat Zugriffsmöglichkeit auf den Inhalt der Daten.<br /><br />
'''Einsparung von Speicherkapazitäten'''<br /><br />
Durch extrem effiziente Deduplizierung und Komprimierung der Daten können Ressourcen maximal genutzt werden. Durch die massiven Volumenseinsparungen ist die sichere Speicherung von großen Backupdatenbeständen möglich. Zudem ist die asynchrone Replikation in die Rechenzentrumsbasierte Einheit auch über DSL-Verbindungen mit geringen Bandbreiten möglich.<br /><br />
'''Modernste Technik und Features'''<br /><br />
Die bisher üblichen Bandlaufwerke werden durch hochsichere Backup-Storages abgelöst.Dadurch stehen auch Features wie automatische oder benutzergesteuerte Snapshots zur Verfügung.<br />
Die Lösung basiert auf der DataDomain-Produktlinie des Hersteller EMC.<br />
<br /><br />
'''Weniger Aufwand'''<br /><br />
Die Sicherung erfolgt automatisch und ohne zeitintensiven Austausch von Sicherungsmedien.<br /><br />
'''Support'''<br /><br />
Verständliche und verlässliche Soforthilfe vor Ort oder Remote durch einen IT-Dienstleister ist jederzeit gegeben.<br /><br />
[[Datei:Datensicherung in der Cloud.png|left|thumb|400px]]<br /><br />
<br /><br />
[[Datei:Sicherbares Datenvolumen über DSL-Verbindung.png|left|thumb|400px]]<br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br />
=== ''' Weitere Informationen ''' ===<br />
Nähere Informationen finden Sie unter folgendem Link:<br /><br />
https://www.max-it.de/managed-services/cloud/<br /><br />
<br />
=== ''' Kontakt ''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: <br /><br />
mailto:techcorner@max-it.de<br /><br />
Über m.a.x. Informationstechnologie AG: <br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittel-ständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung. <br /><br />
=== ''' Tags ''' ===<br />
Cloud Backup, Datensicherung, Deduplizierung, EMC-Storage, Datenverschlüsselung, Datenspeicherung<br />
<br />
[[Kategorie: Server & Storage]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Zabbix-Proxy_unter_Debian_8_integrieren&diff=738Zabbix-Proxy unter Debian 8 integrieren2017-03-03T10:49:44Z<p>Ansp: </p>
<hr />
<div>=== '''Symptom''' ===<br />
Ein Zabbix-Proxy soll unter Debian 8 in das bestehende Monitoring mit aufgenommen werden.<br />
=== '''Lösung''' ===<br />
Folgende Schritte sind dafür nötig:<br />
<pre> wget http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix-release/zabbix-release_3.0-1+jessie_all.deb<br />
dpkg -i zabbix-release_3.0-1+jessie_all.deb<br />
aptitude update<br />
aptitude install zabbix-proxy-mysql mysql-server<br />
<br />
mysql -u root -p<br />
- create database zabbix character set utf8 collate utf8_bin;<br />
- grant all privileges on zabbix.* to zabbix@localhost identified by '<passwortfuerdenuser>';<br />
- quit;<br />
<br />
<br />
zcat /usr/share/doc/zabbix-proxy-mysql/schema.sql.gz | mysql -u zabbix -p zabbix<br />
<br />
vi /etc/zabbix/zabbix_proxy.conf<br />
- Server=MasterIP<br />
- Hostname=ProxyNameimZabbixMaster<br />
- DBName=zabbix<br />
- DBPassword=PWvonoben<br />
<br />
service zabbix-proxy restart<br />
<br />
Zabbix WebUI<br />
- Administration<br />
- Proxies<br />
- Create proxy<br />
- Choose name from Hostname<br />
</pre><br />
=== '''Weitere Informationen''' ===<br />
https://www.max-it.de/managed-services/<br />
=== '''Links und Quellen''' ===<br />
http://www.routerperformance.net/howtos/zabbix/installing-a-zabbix-proxy-with-debian-8/<br /><br />
https://www.zabbix.com/documentation/3.0/manual/installation/install_from_packages/proxy_installation<br /><br />
https://www.zabbix.com/documentation/3.0/manual/installation/install_from_packages/server_installation_with_mysql#creating_initial_database<br /><br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, wenden Sie sich bitte gerne an mailto:techcorner@max-it.de. <br /><br />
<br />
Über m.a.x. Informationstechnologie AG:<br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br />
=== '''Tags''' ===<br />
Zabbix, dezentrales Monitoring, Linux, Proxy<br />
<br />
[[Kategorie: Netzwerk-Software]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Squid_mit_ClamAV_als_Virenscanner_unter_Debian_Jessie&diff=737Squid mit ClamAV als Virenscanner unter Debian Jessie2017-03-03T10:49:09Z<p>Ansp: </p>
<hr />
<div>=== '''Installationsvorgang''' ===<br />
<br />
Um unter Debian 8 (Jessie) einen Proxyserver mit Virenschutz zu installieren, greifen wir auf Squid3, ClamAV und c-icap mit squidclamav zurück. Bis auf squidclamav wird alles über Pakete installiert:<br /><br />
<br />
<pre># aptitude install squid3 c-icap clamav clamdscan libicapapi-dev</pre><br />
<br />
Dann squidclamav besorgen und installieren:<br /><br />
<br />
<pre># wget http://downloads.sourceforge.net/project/squidclamav/squidclamav/6.12/squidclamav-6.12.tar.gz<br />
# tar xvfz squidclamav-6.12.tar.gz<br />
# cd squidclamav-6.12<br />
# ./configure && make && make install</pre><br />
<br />
In der squid.conf folgendes im Bereich ICAP OPTIONS pasten:<br /><br />
<br />
<pre>icap_enable on<br />
icap_send_client_ip on<br />
icap_send_client_username on<br />
icap_client_username_encode off<br />
icap_client_username_header X-Authenticated-User<br />
icap_preview_enable on<br />
icap_preview_size 1024<br />
<br />
icap_service service_req reqmod_precache bypass=0 icap://127.0.0.1:1344/squidclamav<br />
icap_service service_resp respmod_precache bypass=0 icap://127.0.0.1:1344/squidclamav<br />
<br />
adaptation_access service_req allow all<br />
adaptation_access service_resp allow all</pre><br />
<br />
Dann noch an die ACL für lokale User denken:<br /><br />
<pre>acl clients src 192.168.1.0/24<br />
http_access allow clients</pre><br />
<br />
In /etc/c-icap/squidclamav.conf kann noch die Fehlerseite für Virenfunde angepasst werden, ist aber für den Betrieb nicht essenziell. <br /><br />
<br /><br />
<br />
In /etc/c-icap/c-icap.conf noch im Service Bereich für externe Module einfügen:<br />
Service squidclamav squidclamav.so<br /><br />
<br /><br />
<br />
Alle betroffenen Dienste neu starten (Squid3, c-icap) oder einmal den Server durchstarten testen.<br /><br />
<br /><br />
<br />
=== '''Weitere Informationen''' ===<br />
https://www.max-it.de/managed-services/anwender-und-netzwerk/<br /><br />
<br /><br />
<br />
=== '''Links und Quellen''' ===<br />
http://louwrentius.com/setting-up-a-squid-proxy-with-clamav-anti-virus-using-c-icap.html<br /><br />
<br /><br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /><br />
<br />
=== '''Tags''' ===<br />
Linux, Proxy, Squid, ClamAV, squidclamav, c-icap, Virenscanner<br />
[[Kategorie: Netzwerk-Software]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Smokeping_in_pfSense_2.2_installieren&diff=736Smokeping in pfSense 2.2 installieren2017-03-03T10:48:52Z<p>Ansp: </p>
<hr />
<div>=== '''Symptom''' ===<br />
Smokeping in pfSense installieren, obwohl es nicht über das Paketsystem verfügbar ist.<br /><br />
<br /><br />
=== '''Ursache und Lösung''' ===<br />
pfSense bietet kein Paket um Latenzen im Netzwerk zu messen und graphisch aufzubereiten. Oft sind solche Tools im Rechenzentrum aber essenziell und könnten somit ein Grund sein auf pfSense zu verzichten. <br /><br />
Folgende Schritte sind nötig um Smokeping über Umwege auf pfSense zu installieren:<br /><br />
<pre># pkg install smokeping</pre><br />
<br />
The package management tool is not yet installed on your system.<br />
Do you want to fetch and install it now? [y/N]: y<br /><br />
<br />
<pre># pkg install apache24</pre><br />
<br />
In /etc/rc.conf.local folgendes einfügen:<br /><br />
<pre>smokeping_enable="YES"<br />
apache24_enable="YES"</pre><br />
<br />
Dann: <br /><br />
<br />
<pre># cd /usr/local/etc/rc.d/<br />
# mv apache24 apache24.sh<br />
# mv smokeping smokeping.sh</pre><br />
<br />
In /usr/local/etc/apache24/httpd.conf einfügen:<br /><br />
<pre>Listen 8080</pre><br />
<br />
<pre><Directory "/usr/local/smokeping/htdocs"><br />
Options Indexes FollowSymLinks ExecCGI<br />
AllowOverride None<br />
Require all granted<br />
</Directory><br />
<br />
<br />
ScriptAlias /smokeping.fcgi /usr/local/smokeping/htdocs/smokeping.fcgi<br />
Alias /smokeimg/ /usr/local/smokeping/htdocs/img/<br />
Alias /img/ /usr/local/smokeping/htdocs/img/<br />
<br />
AddHandler cgi-script .cgi .fcgi<br />
<br />
LoadModule cgi_module libexec/apache24/mod_cgi.so</pre><br />
<br />
Anschließend das Postfix Paket über die WebGUI installieren.<br /><br />
<br /><br />
Und schließlich noch:<br /><br />
<br />
<pre># ln -s /usr/local/sbin/sendmail /usr/sbin/sendmail<br />
# chmod 600 /usr/local/etc/smokeping/smokeping_secrets</pre><br />
<br />
Jetzt ist Apache24 und Smokeping installiert, startet beim Hochfahren automatisch und ist erreichbar über: <br /><br />
<br /><br />
http:// <ip>:8080/smokeping.fcgi <br /><br />
<br /><br />
<br />
=== '''Weitere Informationen'''===<br />
https://www.max-it.de/managed-services/anwender-und-netzwerk/<br /><br />
<br /><br />
<br />
=== '''Links und Quellen''' ===<br />
https://www.trevorparker.com/monitor-latency-with-smokeping-on-freebsd/<br /><br />
<br /><br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /><br />
<br />
=== '''Tags''' ===<br />
Netzwerk, Firewall, pfSense, Monitoring, Smokeping<br />
<br />
[[Kategorie:Netzwerk-Software]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Durchsatzraten_unter_Linux_korrekt_messen&diff=735Durchsatzraten unter Linux korrekt messen2017-03-03T10:48:05Z<p>Ansp: </p>
<hr />
<div>=== '''Symptom''' ===<br />
Durchsatzraten unter Linux korrekt messen.<br /><br />
<br />
=== '''Ursache und Lösung''' ===<br />
Genaue TCP/UDP Durchsatzmessungen mit IPerf<br />
Um die Durchsatzraten von diversen Leitungstypen korrekt zu messen, nimmt man i.d.R. iperf und unter Windows die Java-Lösung jperf. Damit kann sowohl über TCP, also auch über UDP die verfügbare Bandbreite ermittelt, oder Fehler in Konfiguration und Netzwerk ermittelt werden.<br /><br />
<br /><br />
Dazu muss an beiden Endpunkten eine iperf Instanz, jeweils als Client und Server gestartet werden.<br /><br />
<br /><br />
'''TCP Durchsatz (GBit) mit hoher Windowsize'''<br /><br />
<br /><br />
Server: iperf -s -D -w 512k<br /><br />
Client: iperf -i1 -w 512k –c <ServerIP><br /><br />
<br /><br />
<br />
Ergebnis sieht dann ca. so aus:<br /><br />
------------------------------------------------------------<br />
Client connecting to 10.12.11.100, TCP port 5001<br /><br />
TCP window size: 1.00 MByte (WARNING: requested 512 KByte)<br /><br />
------------------------------------------------------------<br />
[ 3] local 10.12.10.100 port 45087 connected with 10.12.11.100 port 5001<br /><br />
{| <br />
|-<br />
| [ID] || Interval || Transfer || Bandwidth<br />
|-<br />
| [3] || 0.0-1.0 sec || 106 MBytes || 885 Mbits/sec<br />
|-<br />
| [3] || 1.0-2.0 sec || 107 MBytes || 901 Mbits/sec<br />
|-<br />
| [3] || 2.0-3.0 sec || 108 MBytes || 902 Mbits/sec<br />
|-<br />
| [3] || 3.0-4.0 sec || 107 MBytes || 898 Mbits/sec<br />
|-<br />
| [3] || 4.0-5.0 sec || 108 MBytes || 902 Mbits/sec<br />
|-<br />
| [3] || 5.0-6.0 sec || 108 MBytes || 904 Mbits/sec<br />
|-<br />
| [3] || 6.0-7.0 sec || 108 MBytes || 904 Mbits/sec<br />
|-<br />
| [3] || 7.0-8.0 sec || 108 MBytes || 903 Mbits/sec<br />
|-<br />
| [3] || 8.0-9.0 sec || 108 MBytes || 904 Mbits/sec<br />
|-<br />
| [3] || 9.0-10.0 sec || 108 MBytes || 903 Mbits/sec<br />
|-<br />
| [3] || 0.0-10.0 sec || 1.05 GBytes || 900 Mbits/sec<br />
|}<br />
<br />
<br /><br />
'''UDP Durchsatz (GBit)'''<br /><br />
<br /><br />
Server: iperf -l 64 -u -s -D<br /><br />
Client: iperf -l 64 -u -i1 -c <ServerIP> -b 1000m<br /><br />
<br /><br />
Ergebnis:<br /><br />
------------------------------------------------------------<br />
Client connecting to 10.12.11.100, UDP port 5001<br /><br />
Sending 1470 byte datagrams<br /><br />
UDP buffer size: 208 KByte (default)<br /><br />
------------------------------------------------------------<br />
[ 3] local 10.12.10.100 port 53428 connected with 10.12.11.100 port 5001<br /><br />
{| <br />
|-<br />
| [ID] || Interval || Transfer || Bandwidth<br />
|-<br />
| [3] || 0.0-1.0 sec || 96.9 MBytes || 813 Mbits/sec<br />
|-<br />
| [3] || 1.0-2.0 sec || 96.9 MBytes || 813 Mbits/sec<br />
|-<br />
| [3] || 2.0-3.0 sec || 96.9 MBytes || 813 Mbits/sec<br />
|-<br />
| [3] || 3.0-4.0 sec || 96.9 MBytes || 813 Mbits/sec<br />
|-<br />
| [3] || 4.0-5.0 sec || 96.9 MBytes || 813 Mbits/sec<br />
|-<br />
| [3] || 5.0-6.0 sec || 96.9 MBytes || 813 Mbits/sec<br />
|-<br />
| [3] || 6.0-7.0 sec || 96.9 MBytes || 813 Mbits/sec<br />
|-<br />
| [3] || 7.0-8.0 sec || 96.9 MBytes || 813 Mbits/sec<br />
|-<br />
| [3] || 8.0-9.0 sec || 96.9 MBytes || 813 Mbits/sec<br />
|-<br />
| [3] || 9.0-10.0 sec || 96.9 MBytes || 813 Mbits/sec<br />
|-<br />
| [3] || 0.0-10.0 sec || 969 MBytes || 813 Mbits/sec<br />
|-<br />
| [3] || Sent 691024 datagrams<br />
|-<br />
| [3] || Server Report:<br />
|-<br />
| [3] || 0.0-10.0 sec || 948 MBytes || 795 Mbits/sec || 0.10 ms 14801/691023 (2.1%)<br />
|-<br />
| [3] || 0.0-10.0 sec || 1 datagrams received out-of-order<br />
|}<br />
<br />
<br /><br />
'''Messung von Packetverlusten, bzw. Packets per second (pps) mit UDP'''<br /><br />
<br /><br />
Siehe oben. Interessant ist die Zeile: <br /><br />
[ 3] 0.0-10.0 sec 948 MBytes 795 Mbits/sec 0.108 ms 14801/691023 (2.1%)<br /><br /><br />
Von 691023 gesendeten Paketen gehen 14801 auf dem Weg verloren! Hier können z.B. Probleme in der Sprachqualität bei VoIP ausgemacht werden.<br /><br />
<br /><br />
<br />
=== '''Weitere Informationen''' ===<br />
http://www.routerperformance.net/<br /><br />
https://www.max-it.de/managed-services/anwender-und-netzwerk/<br /><br />
<br /><br />
<br />
=== '''Links und Quellen''' ===<br />
http://iperf.sourceforge.net/<br /><br />
<br /><br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG:<br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /><br />
<br />
=== '''Tags''' ===<br />
Netzwerk, Linux, TCP, UDP, IPerf, JPerf, Durchsatz, Bandbreite, Packetloss<br /><br />
<br /><br />
[[Kategorie: Netzwerk-Software]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Stackmember_aus_einem_Catalyst_3750-X_Stack_entfernen&diff=734Stackmember aus einem Catalyst 3750-X Stack entfernen2017-03-03T10:47:17Z<p>Ansp: </p>
<hr />
<div>=== '''Symptom''' ===<br />
Die Anzahl der Switch in einem Stack soll ohne Downtime verringert werden.<br /><br />
<br /><br />
=== '''Ursache und Lösung''' ===<br />
Wenn in einem Stack von vier Switchen genug Ports frei sind und ein bis zwei Member wieder entfernt werden sollen, ist folgende Vorgehensweise strikt zu beachten!<br />
<br />
Die betroffenen Member müssen auf jeden Fall vom Strom genommen werden. <br />
Es bietet sich an, die hintersten zu nehmen, da sonst die Zählweise der Ports durcheinander kommen könnte.<br /><br />
Wenn der betroffene Switch vom Strom ist, die Stackingkabel lösen und Powerstack ebenfalls.<br /><br />
Anschließend den Ring wieder mit Stackingkabel verbinden und erst dann über die CLI den alten Switch aus dem Stack nehmen:<br /><br />
<br />
<pre># no switch <stack-member> provision</pre><br />
<br />
=== '''Weitere Informationen'''===<br />
https://www.max-it.de/managed-services/anwender-und-netzwerk/<br /><br />
<br /><br />
<br />
=== '''Links und Quellen''' ===<br />
https://supportforums.cisco.com/document/19701/how-add-and-remove-cisco-catalyst-3750-switch-existing-switch-stack <br /><br />
<br /><br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG:<br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /><br />
<br />
=== '''Tags''' ===<br />
Netzwerk, Cisco Catalyst, Stacking<br />
<br />
[[Kategorie:Netzwerk-Hardware]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Netzwerkstrukturen-mit-InfiniBand&diff=733Netzwerkstrukturen-mit-InfiniBand2017-03-03T10:45:24Z<p>Ansp: </p>
<hr />
<div>=== ''' Zukunftssicher und mittelstandstauglich ''' ===<br />
''' Die Entwicklung der Basistechnologien und Übertragungsraten im Netzwerk- und Storagebereich ist in den letzten Jahren weit hinter dem Wachstum von Datenvolumen und Rechenkapazitäten in allen Anwendungsszenarien zurückgeblieben. Umso dringlicher wird die Suche nach zukunftsfähigen Al-ternativen auch im Mittelstand. InfiniBand verspricht, dafür die Lösung zu sein. ''' <br /><br />
<br /><br />
Welcher IT-Verantwortliche hätte sich das nicht auch schon gewünscht? Eine neue, stabile Technologie für den Serverpark, mit der die Übertragung großer Datenmengen nicht zur Geduldsprobe ausartet und die gleichzeitig weder das Budget noch die beherrschbare Komplexität sprengt. Noch weitgehend unbemerkt von der durchschnittlichen IT-Organisation hat sich in jüngster Zeit die InfiniBand-Technologie (IB) zu einer Lösung dieser Fragen gemausert. Sie verspricht, alle gewünschten Eigenschaften in sich zu vereinen, bis auf eine: Sie ist nicht neu. Das muss aber kein Nachteil sein.<br /><br />
=== ''' Historie ''' ===<br />
Tatsächlich wurde der erste InfiniBand-Standard bereits im Jahr 2000 verabschiedet von der InfiniBand Trade Association (ITBA, ein Zusammenschluss von Compaq, Dell, Hewlett-Packard, IBM, Intel, Microsoft und Sun). Er war damals gedacht als Nachfolgetechnologie für den PCI Bus. Nachdem sich aber im Segment der Arbeitsstationen und Enterprise-Server stattdessen der PCI Express als Bus-System durchgesetzt hat, wurde InfiniBand immer mehr eine Verbindungstechnologie in der Domäne von Supercomputern und High-Performance-Anwendungen. Im Jahr 2014 basierten 45% der in der TOP500 gelisteten Supercomputer auf InfiniBand. Das zeigt, dass InfiniBand eine höchst ausgereifte, stabile und skalierbare Technologie ist, die jedoch lange Zeit zu teuer für den Einsatz in normalen Unternehmen war. Dies hat sich zuletzt deutlich ver-ändert: Aufgrund technologischer Innovationen und der Suche nach neuen Zielmärkten sind die Preise für InfiniBand-Komponenten in den letzten Jahren auf ein Niveau gesunken, das sich nicht mehr von dem der Konkurrenztechnologien wie 10 GBit Ethernet oder Fibre Channel unterscheidet.<br /><br />
=== ''' Technologie ''' ===<br />
Obwohl ähnlich im Preisgefüge besitzt die Technologie von InfiniBand doch im Kern eine völlig andere Archi-tektur. Es handelt sich nicht um eine Netzwerk- sondern um eine Busstruktur. Man kann sich InfiniBand als eine „Verlängerung“ des serverinternen PCIe Busses vorstellen. Damit einher gehen einige Merkmale, die wesentlich für das Performanceversprechen dieses Standards sind: Die Übertragungsrate beträgt derzeit bis zu 100 GBit/s je Port bei gleichzeitig extrem niedriger Latenz. Für höhere Performanceanforderungen können mehrere physikalische Ports logisch gekoppelt werden. Als etablierte, nicht-experimentelle Technologie steht InfiniBand derzeit 10 GBit Ethernet bzw. 8 bis 16 GBit Fibre Channel gegenüber. Bei Storage-Anwendungen überträgt IB die Daten per RDMA (Remote Direct Memory Access). Dieses Feature erlaubt es Anwendungen, Daten direkt in den Hauptspeicher des Zielsystems zu schreiben, ohne Umweg über einen Netzwerkprotokoll-Stack. Das entlastet die CPU und vermeidet unnötige und zeitintensive Kopiervorgänge. Dieselbe Systematik ist mit InfiniBand auch für paketorientierte Netzwerkanwendungen verfügbar und wird RoCE genannt (RDMA over Converged Ethernet). Gleichzeitig gliedert sich InfiniBand nahtlos in bestehende IT-Landschaften ein, denn den Anwendungen zeigt es sich in der tatsächlichen Nutzung je nach Konfiguration als Netz- oder Datenverbindung. Diese Einstellung ist durch den Administrator festlegbar und hängt nicht von der eingesetzten IB Hardware ab. Anders ausgedrückt: Mit ein und derselben InfiniBand-Hardware lassen sich flexibel mehrere parallel nutzbare Ethernet- und blockbasierte Verbindungen (SRP/iSER) mit defi-nierbaren Bandbreiten realisieren. Die Einrichtung der IB-Komponenten ist kein Hexenwerk, sollte aber in Hinsicht auf die gewünschte Gesamtstruktur in Produktivumgebungen nur von Experten mit InfiniBand-Erfahrung durchgeführt werden. V.a. in heterogenen Systemlandschaften mit gemischten Technologien und unterschiedlichen Betriebssystemen gibt es bei der Umsetzung diverse Fallstricke, die erkannt und umgan-gen werden wollen. Im laufenden Betrieb unterstützt InfiniBand den Administrator dann durch seine umfang-reichen Monitoring-Fähigkeiten, die deutlich über das von der Konkurrenz Gewohnte hinausgehen. Spätes-tens hier jedoch stößt der Einsteiger an seine Grenzen, denn Konfiguration und treffsichere Interpretation des InfiniBand-Monitorings erfordern einiges an Detail-Know-How.<br /><br />
<br />
[[Datei: Performance.jpg|left|thumb|400px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
''InfiniBand bietet überlegene Bandbreiten für die Vernetzung von Servern und Rechenzentren. Die Preise der drei Technologien bewegen sich auf vergleichbarem Niveau.''<br />
<br /><br />
<br />
<br />
=== ''' Komponenten und Anbieter ''' ===<br />
InfiniBand stellt den derzeit einzigen nicht-proprietären offenen Hochgeschwindigkeitsstandard dar. Eine InfiniBand-Infrastruktur wird aus denselben grundlegenden Komponenten aufgebaut wie herkömmliche Net-ze: IB-Host-Channel-Adapter (HCAs) in den beteiligten Servern, dazwischen IB-Kabel aus Kupfer oder Glas-faser und im Allgemeinen auch IB-Switches bzw. Router. Preise beginnen bei unter 500,- Euro für HCAs, unter 3.500,- Euro für einen 12-Port Managed Switch und unter 100,- Euro für 5 Meter Kupferkabel. Viele IB-Switches bieten eine Besonderheit: Damit die schöne neue InfiniBand-Welt keine Insel bleibt, besitzen sie die Möglichkeit über ein Splitter-Kabel einen 40G-Port in einen oder mehrere 10G-Ports für den Übergang ins restliche Unternehmensnetzwerk bereitzustellen. Mit einem 12-Port Switch sind so 48x10G-Ports realisierbar. Trotz gesunkener Preise wird kaum eine Organisation mehr als den Serverraum mit InfiniBand ausstatten wollen, obwohl das technisch in einer geswitchten Infrastruktur mit Kabellängen von bis zu über hundert Metern durchaus möglich wäre. Zum Betrieb der HCAs in den Servern bedarf es passender Treiber je Betriebssystem. Aufgrund der Offenheit und Unabhängigkeit des Standards sind diese für alle gängigen Systeme verfügbar, u.a. für Windows Server und Client Versionen, alle großen Linux Distributionen wie Red Hat und SUSE sowie für die Virtualisierer VMware ESXi, Microsoft Hyper-V und Citrix/Xen. Der dominieren-de Hersteller von IB-Baugruppen ist die Firma Mellanox, die auch alle Varianten von fertigen Komponenten anbietet. Komponenten stellen aber auch diverse andere Integratoren her, wie beispielsweise Intel/QLogic oder Oracle/Sun. Auch weitere Major Brands setzen mit ihren Produkten auf InfiniBand, etwa Cisco bei Ser-ver¬switches der 3000er und 7000er Serie. Andere Anbieter tun innerhalb ihrer Black-Boxen dasselbe, aller-dings ohne dabei InfiniBand beim Namen zu nennen. Trotz der Offenheit des Standards ist aber nicht zu leugnen, dass die Schar der Anbieter von InfiniBand-Komponenten derzeit noch überschaubar ist. Das liegt an der Abgeschlossenheit des High Performance Computing Bereichs, in dem sich InfiniBand bis vor weni-gen Jahren ausschließlich entwickelt hat. Es steht zu erwarten, dass mit den gesunkenen Preisen und wachsender Verbreitung auch die Anbieter in absehbarer Zeit deutlich zahlreicher werden.<br /><br />
<br />
[[Datei: IB-Komponenten.JPG|left|thumb|400px]]<br />
<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
''InfiniBand-Komponenten: Switch, Host-Channel-Adapter und Kabel'' <br /><br />
<br />
<br />
=== ''' Vorteile und Einschränkungen ''' ===<br />
So ergeben sich im Vergleich zu herkömmlichen Verkabelungslösungen im Serverbereich eine ganze Reihe von Vorteilen: Neben deutlich höheren und skalierbaren Übertragungsbandbreiten bei gleichzeitig geringerer Latenz und Hostbelastung stellt InfiniBand durch die hohe Produktreife im Betrieb erstklassige Zuverlässig-keit und Wartbarkeit sicher. Die Möglichkeit, InfiniBand-Verbindungen bedarfsgerecht sowohl als Netzwerk-wie auch als Datenverbindung zu konfigurieren, birgt das Potential, sowohl Ethernet als auch Fibre Channel bzw. iSCSI bei der Serververnetzung nicht nur zu ergänzen, sondern vollständig abzulösen. Man spricht in diesem Zusammenhang von Netzwerkkonvergenz. Daraus wird in vielen Fällen nicht nur eine Leistungsstei-gerung resultieren, sondern gleichzeitig eine Komplexitätsreduktion der notwendigen Netzstrukturen. Zum einen sinkt aufgrund der Bandbreitenvorteile tendenziell die Anzahl der notwendigen physikalischen Verbin-dungen, zum anderen lassen sich alle Anwendungsfälle mit derselben Technologie abdecken. Das führt dazu, dass auch die Kosten für Aufbau und Betrieb eines IB-Netzes häufig niedriger ausfallen als bei den Konkurrenztechnologien: Eine geringere Anzahl an technischen Komponenten, weniger stark diversifiziertes Fachwissen innerhalb der Betriebsgruppen und zu guter Letzt die Herstellerunabhängigkeit und Offenheit des Standards mit entsprechend konkurrenzfähigen Komponenten- und Lizenzmodellen machen dies möglich.<br /><br />
<br />
Wo so viel Licht ist, muss es naturgemäß auch Schatten geben. So ist InfiniBand zum heutigen Stand klar auf die Vernetzung innerhalb von Serverräumen bzw. Rechenzentren ausgelegt. Gebäudeübergreifende (Campus) Netzwerke sind von 1-80km möglich. Für die Vernetzung hin zu den Clients ist Ethernet nach wie vor unersetzlich. Auch wenn der Übergang von den IB-Komponenten leicht gemacht wird, ist doch auch in Zukunft entsprechendes Ethernet-Equipment und Know-How für die IT-Organisationen unerlässlich. Und auch bei der Überbrückung weiter Entfernungen ist InfiniBand nicht immer erste Wahl: Über Glasfaser lassen sich derzeit WAN-Strecken mit bis zu 1600 Kilometer überbrücken, die Reichweite von Ethernet bleibt jedoch unübertroffen.<br /><br />
<br />
[[Datei:Konsolidierung.jpg|left|thumb|400px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br />
''Netzwerkkonvergenz: Da InfiniBand sowohl als Ethernet als auch als Fibre Channel Verbindungen konfiguriert werden können, lässt es sich leicht in bestehende Infrastrukturen integrieren und bietet die Möglichkeit, die alten Standards schrittweise vollständig abzulösen.''<br />
<br />
<br />
=== ''' Anwendungsbeispiele ''' ===<br />
Bei der Verbindung räumlich naher Geräte kann InfiniBand jedoch seine Stärken ausspielen. Abseits der Supercomputer-Welt stellen daher applikationsspezifische Serverkoppelungen, Virtualisierungsplattformen, Storagelösungen sowie Backupanbindungen typische Anwendungsszenarien für InfiniBand dar. Gerade im Storagebereich lassen sich so nicht nur Performanceverbesserungen erzielen, sondern im Vergleich zu den proprietären Lizenzmodellen der Major Brands oft auch massive Preisvorteile. Entscheidend dafür ist der Einsatz von Software Defined Storage Lösungen, mit denen der Anwender unabhängig wird von einzelnen Herstellern, während InfiniBand die notwendige breitbandige Verbindung zwischen den eingesetzten Stan-dard-Komponenten bereitstellt.<br /><br />
=== ''' Ein- und Umstieg ''' ===<br />
Die Entscheidung für oder gegen InfiniBand ist nicht schwarz-weiß. IB-Komponenten koexistieren, wie be-reits erwähnt, ohne weiteres mit herkömmlichen Netzwerktechniken und lassen sich leicht integrieren. Daher sollte eine IT-Organisation im Bedarfsfalle die Umstellung Schritt für Schritt durchführten. Gerade zu Beginn sollten, wenn möglich, zuerst zusätzliche bzw. ergänzende Anwendungen mit IB realisiert werden, um das notwendige Know-How bei den Administratoren aufzubauen. Die Umstellung der Bestandssysteme, v.a. der geschäftskritischen Anwendungen, sollte erst danach erfolgen. Alle Schritte sollten ggf. durch externen Ex-pertenrat begleitet und abgesichert werden. Dadurch lassen sich Risiken für den IT-Betrieb minimieren und neue Strukturen von vorneherein optimal gestalten.<br /><br />
=== ''' Fazit ''' ===<br />
Mit seinen technischen Eigenschaften stellt sich InfiniBand als die derzeit beste Option für die Serververnet-zung dar und ist aufgrund des massiven Preisverfalls auch für mittelständische Unternehmen erschwinglich. Ähnlich leistungsfähige Strukturen werden von den bekannten Herstellern meist nur als proprietäre Lösungen zu ungleich höheren Kosten angeboten. Während 100GbE und 32Gb FC noch in der Phase der Ankün-digungen und Marktvorbereitung stecken, ist InfiniBand ausgreift, stabil und verfügbar. Bereits seit Jahren nicht nur im High Performance Computing Bereich etabliert, garantieren Leistungsfähigkeit und Skalierbarkeit zusammen mit Offenheit, Herstellerunabhängigkeit und Interoperabilität des Standards Investitionssicherheit für Anwender, die an die Grenzen der herkömmlichen Technologien stoßen. Unternehmen sollten den Ein- und Umstieg zu InfiniBand schrittweise vollziehen, unter Einbeziehung des notwendigen Expertenwissens.<br /><br /><br />
=== ''' Weitere Informationen ''' ===<br />
https://www.max-it.de/storage-und-infrastruktur/maxcentral/<br /><br />
<br /><br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, wenden Sie sich bitte an uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /><br />
=== ''' Tags ''' ===<br />
InfiniBand, Netzwerkstrukturen, High Performance Computing, Busstruktur, Netzwerkanwendungen, applikationsspezifische Serverkoppelungen, Virtualisierungsplattform, Storagelösungen, Backupanbindungen <br />
[[Kategorie: Netzwerk-Hardware]]</div>Ansphttps://techcorner.max-it.de/index.php?title=InfiniBand-Komponenten&diff=732InfiniBand-Komponenten2017-03-03T10:41:12Z<p>Ansp: </p>
<hr />
<div>=== '''Herausforderung''' ===<br />
IT-Strukturen und Vernetzungen werden zunehmend komplexer, so dass Lizenzen, Wartung und Erweiterungen hohe Kosten verursachen.<br /><br /><br />
<br />
=== '''Komponenten für InfiniBand''' ===<br />
InfiniBand konsolidiert die Funktionalitäten von Ethernet und Fibre Channel (SAN) in einem homogenen Standard. Durch Produktinnovationen sind die Kosten deutlich gesenkt. Durch breit verfügbare Standardkomponenten gewinnen Nutzer zudem mehr Unabhängigkeit von teuren Zusatzmodulen und Lizenzen der proprietären Hersteller.<br /><br />
<br />
Wir zeigen Ihnen hier eine kleine Auswahl an gängigen InfiniBand-Komponenten, wie IB-Kabel, IB-Switche und IB-Hostadapter, sowie eine ungefähre preisliche Einordnung. Die Skalierung der verfügbaren InfiniBand-Komponenten ist, je nach Anforderung der jeweiligen Lösungen, nach oben weitgehend offen, so dass die gezeigten Komponenten als Einstiegs-Konfigurationen zu verstehen sind.<br /><br />
<br />
<br />
'''InfiniBand-Hostadapter Single- and Dual-Port (HCAs)'''<br /><br />
<br />
Preis: ab ca. 480,- EUR<br /><br />
<br />
{|<br />
|-<br />
| <br />
<gallery><br />
Datei:IB-Adapter 1.png|<br />
</gallery><br />
|| <br />
<gallery><br />
Datei:IB-Adapter 2.jpg|<br />
</gallery><br />
|}<br />
<br />
[http://www.mellanox.com/related-docs/products/IB_Adapter_card_brochure_c_2_3.pdf Mehr Details]<br /><br />
<br />
'''InfiniBand-Switche (Managed)'''<br /><br />
<br />
Preis: ab ca. 2.700,- EUR / 12 Ports<br /><br />
<br />
{|<br />
|-<br />
| <br />
<gallery><br />
Datei:IB-Switch 1.png|<br />
</gallery><br />
|| <br />
<gallery><br />
Datei:IB-Switch 2.jpg|<br />
</gallery><br />
|}<br />
<br />
[http://www.mellanox.com/pdf/products/SwitchSystem_Brochure.pdf Mehr Details]<br /><br />
<br />
'''InfiniBand-Kabel (Kupfer bis 5m, Optical bis 300m)'''<br /><br />
<br />
Preis: ab ca. 85,- EUR<br /><br />
{|<br />
|-<br />
| <br />
<gallery><br />
Datei:IB-Kabel 1.png|<br />
</gallery><br />
|| <br />
<gallery><br />
Datei:IB-Kabel 2.jpg|<br />
</gallery><br />
|}<br />
<br />
'''InfiniBand-Hybrid-Kupfer-Kabel''' (4x 10GbE auf 1x 40GbE)<br /><br />
<br />
Preis: ab ca. 185,- EUR<br /><br />
<br />
<gallery><br />
Datei:IB-Kabel 3 (Hybrid-Kupfer-Kabel).jpg|<br />
</gallery><br />
<br />
[http://www.mellanox.com/related-docs/products/CableFamily.pdf Mehr Details]<br /><br /><br />
<br />
=== '''Weitere Informationen''' ===<br />
Weitere Informationen zu Hintergründen, Mehrwerten und Anwendungsbereichen finden Sie unter:<br /><br />
https://www.max-it.de/storage-und-infrastruktur/maxcentral/<br /><br /><br />
<br />
=== '''Links und Quellen''' ===<br />
http://www.mellanox.com<br /><br />
http://www.intel.com/content/www/us/en/infiniband/truescale-infiniband.html<br /><br /><br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG:<br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br />
<br />
=== '''Tags''' ===<br />
InfiniBand, InfiniBand-Komponenten, Kosten InfiniBand-Komponenten, InfiniBand-Kabel, InfiniBand-Switche, Ethernet, FibreChannel, Preise InfiniBand, IT-Netzwerke, Netzwerk-Konsolidierung<br />
[[Kategorie: Netzwerk-Hardware]]</div>Ansphttps://techcorner.max-it.de/index.php?title=CorporateNetworks&diff=731CorporateNetworks2017-03-03T10:39:16Z<p>Ansp: </p>
<hr />
<div>=== '''Enabler für digitale Unternehmensprozesse im Mittelstand''' ===<br />
Corporate Networks für die Integration der Unternehmens-IT über mehrere Standorte hinweg sind längst keine alleinige Domäne mehr von Großunternehmen und Global Playern. Auch für den Mittelstand ist die nahtlose digitale Kommunikation zu einem zentralen Wertschöpfungsfaktor geworden. Die technischen Hürden sind jedoch völlig anders gelagert als die Herausforderungen in der lokalen IT. <br /><br /><br />
Ein CN zu bauen erfordert deutlich mehr, als jedem Standort eine DSL-Leitung zu buchen und per VPN zusammen zu schalten. Für ein funktionsfähiges Ganzes, in dem die Anwender mehr Lust als Frust erleben, bedarf es der sorgfältigen Planung von unterschiedlichen, teilweise widerstreitenden Parametern. <br /><br /><br />
<br />
=== ''' Definition der Anforderungen ''' ===<br />
Am Anfang stehen sollte immer die umfassende Erhebung, welche Applikationen wo im Unternehmen benötigt werden und welche Anforderungen diese an die CN-Infrastruktur stellen. Dabei ist die Bandbreite ebenso zu berücksichtigen wie die Latenzanforderungen jeder einzelnen Anwendung, sowie die notwendigen Quality of Service (QoS). In der Regel liefern die Geschäftskundenangebote aller Provider hinreichende Qualität bei diesen Merkmalen. Allerdings ist das nur der Fall, solange man seine CN-Leitungen nur schwach bis mittel auslastet. Bei höherer Last steigt die Fehlerrate rapide, so dass stets ausreichend Reserven eingeplant werden sollten. QoS kann auf einer Verbindung jedoch nur funktionieren, wenn die gesamte Kommunikationsstrecke damit abgedeckt ist. Das lässt sich z.B. mit MPLS-Leitungen erreichen oder durch den Einsatz von VPN-Lösungen mit integrierter QoS-Funktionalität.<br /><br /><br />
Generell ist die intelligente Lenkung der Datenströme im Corporate Network das A und O eines stabilen Betriebs. So sollte nach Möglichkeit der CN-unabhängige Internet-Verkehr jedes Standorts über lokale, separate Leitungen geroutet werden, um die QoS-Bedarfe des internen CN nicht zu torpedieren. Als Nebeneffekt können diese Leitungen als Fallback für die CN-Verbindung dienen.<br /><br /><br />
<br />
Bei der Ausfallsicherheit sollte man nicht nur Superlativen wie 99,999…% hinterherjagen. Genauso wichtig ist eine belastbare Antwort auf die Fragestellung, welche maximale Ausfalldauer einer Anbindung vom betroffenen Unternehmensteil tatsächlich toleriert werden kann. Technisch lässt sich die Ausfallsicherheit fast beliebig steigern, bis hin zu redundanten, knoten- und kantendisjunkten Anbindungen über unterschiedliche Vermittlungsstellen des Providers. Das bedeutet, dass eine Fallbackleitung vom unternehmensseitigen Anschluss bis hin zum Übergang in einen Internet-Backbone auf getrennten Provider-Infrastrukturen betrieben werden sollte, hinsichtlich Leitungen und Vermittlungsstellen. Die Wirtschaftlichkeit einer entsprechenden Lösung lässt sich jedoch stets nur im Einzelfall bewerten. Die Premiumangebote der Provider sind unter diesem Aspekt dabei oft nicht das Optimum. Schmalbandige Überbrückungslösungen auf Mobilfunkbasis, über die die Anwender zeitweise z.B. über Terminal-Services arbeiten, oder die temporäre Umleitung der VoIP-Rufnummern auf die Handys der Mitarbeiter können oft im Falle von CN-Problemen genauso gut den Ausfall überbrücken wie teure Rundum-Sorglos-Pakete. Oder eben die mehrfach redundante Anbindung der Standorte mit Leitungen im niedrigen bzw. mittleren Preissegment, idealerweise über unterschiedliche Provider und Technologien wie SDSL, ADSL und ggf. Kabel, Richtfunk oder LTE. Mit den letztgenannten Optionen übersteht man dann sogar den vielzitierten Bagger-GAU. Hinsichtlich des Preis-Leistungsverhältnisses ist im unteren Preissegment zurzeit die Kombination von VDSL-Anbindung mit einer LTE-Fallbackstrecke attraktiv.<br /><br />
<br /><br />
Dabei sollten die Verantwortlichen jedoch nicht aus den Augen verlieren, dass die Leitungen selbst nur eine mögliche Ursache bei Verbindungsproblemen darstellen. Zusätzlich sollte sichergestellt sein, dass auch alle anderen Komponenten der internen Kommunikationsstruktur wie Router, Switche, Firewalls, etc. redundant ausgelegt sind oder zumindest schnell gewechselt werden können.<br /> <br />
<br />
[[Datei: Robustheit von Anwendungen.jpg|left|thumb|400px]]<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br />
''Robustheit von Anwendungen gegenüber Einschränkungen bei den Leistungsmerkmalen von Corporate Network Verbindungen''<br /><br />
<br />
<br />
=== ''' Topologie ''' === <br />
Abgesehen von den reinen Leistungsdaten muss sich die IT entscheiden, mit welcher Topologie das CN umgesetzt werden soll. Die Reinformen sind dabei die Sterntopologie gegenüber der Any-to-Any-Vernetzung. Obwohl die Any-to-Any Struktur robuster und je nach Situation auch performanter ist, stellt sich jedoch das Problem der Bereitstellung zentraler IT-Dienste, der hohen Anzahl an Einzelverbindungen und deren kommunikations- und sicherheitstechnischer Administration. Wenn jedoch vornehmlich breitbandige Anwendungen wie Videokonferenzen oder umfangreiches Filesharing zwischen den einzelnen Niederlassungen gefragt sind, kann diese Vernetzungsstruktur angeraten sein.<br /><br />
<br /><br />
In der Praxis sind meist Sterntopologien mit bedarfsorientierten Zusatzverbindungen anzutreffen. Dem erhöhte Bandbreiten- und Verfügbarkeitsbedarf des Zentralknotens wird dabei häufig durch Auslagerung in ein professionell gemanagtes Rechenzentrum Rechnung getragen. Die Außenstellen können dagegen oft kostengünstig mit Standard-Internetanbindungen (ADSL/SDSL) angebunden werden. <br /><br />
<br />
[[Datei: Topologie.jpg|left|thumb|400px]]<br />
<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
''Stern- vs. Any-to-Any-Topologie''<br />
<br />
<br />
=== ''' Datensicherheit ''' ===<br />
<br />
Der Aufbau eines CN bietet einem Unternehmen die optimale Chance, seinen Schutz gegen Angriffe von außen zu erhöhen, sowie die internen Netzsegmente bedarfsgerecht zu strukturieren und gegeneinander abzusichern. Gleichzeitig bietet ein homogenes internes Netzwerk die besten Voraussetzungen dafür, datenschutztechnisch zweifelhafte externe Lösungen durch interne Infrastruktur zu ersetzen. Dass dabei jeder Datenverkehr zu verschlüsseln ist, sobald er über Netze von Providern geroutet wird, ist selbstverständlich. Aber auch im Inneren eines verzweigten Unternehmensnetzes sollten je nach Sensibilität der Daten entsprechende Schutzstrukturen implementiert werden, die die Struktur und technische Realisierung des CN mit beeinflussen. Im Regelfall wird diese Architektur zusammen mit meist externen Security-Experten erarbeitet. <br /><br />
<br /><br />
=== ''' Mehrwerte ''' ===<br />
Wie zuvor bereits angedeutet, bietet ein eigenes CN dem Unternehmen Möglichkeiten für die Strukturierung der eigenen IT, die sich ohne übergreifende Vernetzung kaum realisieren lassen. Ein Beispiel: Backup. In den meisten Firmen werden heutzutage die wichtigen Daten aus Vertrieb, Produktion, Buchhaltung o.ä. durch Backups geschützt. Woran es jedoch häufig noch mangelt, ist die redundante Aufbewahrung laufend aktueller Datenstände an geographisch getrennten Orten, sog. Off-Site-Backups. In einem CN bietet es sich unmittelbar an, Kopien des Backups online und automatisch an eine oder mehrere Außenstellen zu verteilen. Sind die betreffenden Datenvolumina groß im Verhältnis zu den Leistungskapazitäten, sollte die IT die Nutzung von Deduplizierungslösungen in Betracht ziehen, die üblicherweise durch Deltaverarbeitung, Datenkompression und v.a. Inline-Deduplizierung die zu übertragenden Daten auf ein Minimum reduzieren. Gleichzeitig dienen solche Appliances lokal als performantes Backup-Ziel und erledigen den Datenaustausch im CN asynchron im Hintergrund. Die Speicherung der Unternehmensdaten bei Dritten kann dann vollständig entfallen.<br /><br />
<br /><br />
=== ''' Make or Buy ''' ===<br />
Die verschiedenen Provider mit Geschäftskunden-Angeboten haben neben Internetzugängen und Punkt-zu-Punkt-Standleitungen meist auch komplette CN-Angebote im Portfolio. Die Frage nach Make or Buy lässt sich wie üblich beantworten: Wer bereit ist, aus Wirtschaftlichkeits- oder Sicherheitserwägungen das entsprechende Know-how in den eigenen Reihen aufzubauen und vorzuhalten, kann massiv gegenüber den Rundum-Sorglos-Paketen der Provider sparen. Aber auch wenn man die Buy-Option favorisiert, bedeutet das nicht, dass man sich um die Inhalte nicht mehr zu kümmern braucht. Schon für die Bedarfsanalyse sind umfangreiche Vorarbeiten zu leisten. Und wie überall im Leben lauern auch in diesem Segment Fallstricke, vor denen man auf der Hut sein sollte. Z.B. stellt sich bei näherem Hinsehen gerne heraus, dass das angebotene „VPN“ im Produktnamen schlüsselfertiger Komplettlösungen leider nicht automatisch bedeuten muss, dass die Datenübertragung mit Verschlüsselung erfolgt. Diese muss dann ggf. zusätzlich beauftragt oder aber selbst implementiert werden.<br /><br />
<br /><br />
Zudem sollte man vorab klären, ob der Anbieter der Wahl in den relevanten Regionen vertreten ist und auch für Breitbandanbindungen ungünstig gelegene Standorte bezahlbare Lösungen im Portfolio hat – wer weiß, wo man übermorgen die nächste Filiale eröffnen will.<br /><br />
<br /><br />
Ansonsten gilt, wie bei einfachen Internetanbindungen auch: genau auf die vertraglichen Details achten. Sind die zugesicherten SLAs und Verfügbarkeiten ausreichend? Gibt es „versteckte Kosten“ wie z.B. die gesonderte, volumenbasierte Abrechnung von priorisiertem Traffic? <br /><br />
<br /><br />
Wer sich nicht komplett in die Hand eines Providers begeben mag, hat als Option zur reinen Eigenrealisierung noch die Möglichkeit, das CN in Zusammenarbeit mit einem Carrier-neutralen Systemhaus aufzubauen. Von einem solchen Partner sollten dann v.a. die architekturrelevanten Aspekte in der Planungsphase begleitet werden. Optional kommen von dort auch Vorschläge für die Wahl von Providern und deren diversen Angeboten. Auch der laufende Betrieb sowie das Monitoring des CN können vom IT-Partner übernommen werden. <br /><br />
<br /><br />
=== ''' Fazit ''' ===<br />
Die Erfahrung zeigt, dass für den Aufbau eines zuverlässigen und leistungsfähigen Corporate Networks eine Vielzahl von Parametern und Anforderungen zu berücksichtigen ist. Wer bei der technischen Planung und Umsetzung Neuland betritt und nicht von vorneherein bei Skalierung und Budget aus dem Vollen schöpfen kann, dem ist zu empfehlen, bereits in den frühen Phasen des Projekts Expertenrat hinzu zu ziehen.<br /><br />
<br /><br />
=== ''' Weitere Informationen ''' ===<br />
https://www.max-it.de/managed-services/standortvernetzung/<br /><br /><br />
<br />
=== ''' Kontakt ''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, wenden Sie sich bitte an uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br /><br />
=== '''Tags''' ===<br />
Corporate Networks, Standortvernetzung, Zweigstellenanbindung, VPN-Lösungen, Any-to-any-Struktur, Sterntopologie <br /><br />
<br />
[[Kategorie: Netzwerk-Hardware]]</div>Ansphttps://techcorner.max-it.de/index.php?title=CiscoSB_Sg200/Sg300_ManagementVLAN_%C3%BCber_einen_Trunk&diff=730CiscoSB Sg200/Sg300 ManagementVLAN über einen Trunk2017-03-03T10:38:37Z<p>Ansp: </p>
<hr />
<div>==='''Symptom'''===<br />
Bei der Konfiguration des Management Interfaces muss ein Port in dem betreffenden Management VLAN sein.<br /><br />
Ist dieses VLAN über einen Trunkport bzw. Uplink auf dem Switch verfügbar, ist ein zusätzlich dedizierter Port hierfür nicht nötig. Allerdings schlägt ein Versuch, diesen Port auf ein anderes VLAN zu konfigurieren, mit der folgenden Fehlermeldung fehl:<br />
<pre> Error: This Operation will cause losing Management Access.<br />
</pre><br />
==='''Ursache und Lösung'''===<br />
Der betreffende Port kann über die Backup Konfiguration wieder verfügbar gemacht werden.<br /><br />
Hierzu lädt man die Konfiguration über<br />
<pre> Administration -> File Management -> Download/Backup Configuration/Log<br />
</pre><br />
herunter, entfernt die Zeilen<br />
<pre>switchport mode access<br />
switchport access vlan X<br />
</pre><br />
des betreffenden Ports und spielt die geänderte Konfiguration wieder über den gleichen Weg zurück.<br /><br /><br />
==='''Weitere Informationen'''===<br />
https://www.max-it.de/managed-services/anwender-und-netzwerk/<br /><br /><br />
<br />
==='''Kontakt'''===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techCorner@max-it.de. <br /><br />
<br /><br />
==='''Tags'''===<br />
Cisco, SG200, SG300, Netzwerk, Management VLAN<br />
<br />
[[Kategorie: Netzwerk-Hardware]]</div>Ansphttps://techcorner.max-it.de/index.php?title=Umstellung_von_Websites_auf_https&diff=729Umstellung von Websites auf https2017-03-03T10:37:38Z<p>Ansp: </p>
<hr />
<div>=== '''Einleitung''' ===<br />
Gerade nach den Snowden-Enthüllungen wird der Ruf nach Verschlüsselung des kompletten Datenverkehrs im Web immer lauter. Jeder kann dazu beitragen, indem er seine Website auf https-Verschlüsselung umstellt. Je nach Ausgangssituation kann das ganz einfach oder auch ein ziemlich komplexes Unterfangen sein.<br /><br />
<br /><br />
=== '''Vor- und Nachteile''' ===<br />
In jedem Falle bietet die Umstellung eine ganze Reihe von Vorteilen, u.a. die Folgenden:<br /><br />
'''Ausschluss von Manipulation:''' Für die Ausstellung des für die Verschlüsselung notwendigen Zertifikats muss sich der Nutzer des Zertifikats bei der Zertifizierungsstelle identifizieren. Erst wenn seine Identität festgestellt wurde, wird das Zertifikat auf seinen Namen und für die beantragte URL erstellt und ihm ausgehändigt. Beim Aufruf Ihrer Website überprüft der Browser des Besuchers, ob das vom Webserver präsentierte Zertifikat mit der besuchten URL übereinstimmt. Sollte das nicht der Fall sein, z.B. durch eine DNS-Manipulation, bei der der Besucher auf eine andere Website umgeleitet wird, oder wenn der Aussteller des Zertifikats dem Browser nicht als vertrauenswürdig bekannt ist, dann wird, je nach Browser, dem Anwender eine mehr oder weniger aufdringliche Warnmeldung angezeigt. Das kann z.B. eine Adressleiste mit rotem Hintergrund sein oder Warnseiten, die explizit bestätigt werden müssen. Letzteres ist auch der Grund, warum Sie nicht mit selbsterzeugten Zertifikaten arbeiten sollten: Ein Besucher, dem Sie nicht zuvor schon Ihr Stammzertifikat überlassen haben, wird Ihre Zertifizierungs-stelle als nicht vertrauenswürdig einstufen und daher eine Warnung ernten. Weiterhin sollten Sie über-legen, welchen (finanziellen) Aufwand Sie für die Erstellung des Zertifikats betreiben wollen: Es stellt sich die Wahl zwischen einer Standard- und einer EV-Identifikation (Extended Validation) gegenüber der Zertifizierungsstelle. EV produziert mehr organisatorischen Aufwand auf beiden Seiten und ist damit teurer, gilt aber als maximal betrugsgeschützt und wird für den Besucher Ihrer Seite mit einer grünen Adresszeile belohnt, bei Standard bleibt der Hintergrund regulär weiß (Internet Explorer).<br /><br />
'''Sicherheit der Kommunikation:''' Sobald die Verbindung mit dem installierten Zertifikat akzeptiert wurde, läuft die Kommunikation zwischen Ihrem Webserver und dem Browser des Besuchers nur noch verschlüsselt ab. Das hat u.a. die Auswirkung, dass ein Angreifer nicht mehr in der Lage ist, unbemerkt die übertragenen Daten zu manipulieren. Dazu müsste er die Inhalte erst entschlüsseln, dann den Inhalt seinen Wünschen gemäß anpassen und dann wieder verschlüsseln. Er scheitert aber bereits an der Entschlüsselung. Damit können Sie sicher sein, dass bei Ihrem Besucher wirklich genau das ankommt, was Sie ihm senden wollen.<br /><br />
'''Schutz der Privatsphäre:''' Weiterhin kann ein „Mitleser“ bei verschlüsselten Websites ganz generell mit den übertragenen Daten nichts mehr anfangen, sprich er kann den Inhalt nicht entziffern. Jetzt könnte man sagen, das sei doch egal, es handelt sich ja ohnehin nur um öffentlich zugängliche Website-Inhalte. Das greift aber zu kurz: Es erfolgt stets Kommunikation in beide Richtungen, zu der auch personalisierte und ggf. sensible Daten Ihres Besuchers zählen können, wie besuchte Unterseiten, Suchbegriffe, Cookies, etc.. Potentiell auch Passwörter, aber spätestens hier ist unverschlüsselte Kommunikation grober Leichtsinn. Damit trägt eine https-verschlüsselte Seite aktiv zur Wahrung der Privatsphäre der Internetnutzer bei.<br /><br />
'''Keine Einschränkung eigener Webstatistiken:''' Obwohl Dritte nach Verschlüsselung mit den Daten nichts mehr anfangen können, schränkt eine Website auf https-Basis Ihre technischen Möglichkeiten zur Führung von Webstatistiken zu Referrern, Besuchercharakteristiken, Benutzerverhalten etc. in keiner Weise ein. Soweit Sie dies legal tun möchten, ergeben sich also durch eine verschlüsselte Website keine Nachteile für Sie als Betreiber.<br /><br />
'''Gegengewicht zu staatlicher Überwachung:''' Zu guter Letzt sei noch ein Argument genannt, zu dem man sich auch ein Stück weit selbst entscheiden muss, für wie relevant man es hält: In der Vergangenheit stellte verschlüsselte Kommunikation im Internet eher die Ausnahme dar. Für staatliche Überwachungsstellen mit den technischen Mitteln zum breitbandigen Abhören war dieser Teil natürlich besonders relevant, da man darin einen überproportional hohen Anteil an „interessanten“ Inhalten vermutet hat. Und Verschwörungstheoretiker behaupten zu jeder Zeit, dass es zumindest einzelnen Organisationen möglich sei, die verschlüsselte Kommunikation auch in endlicher Zeit zu knacken. Wenn nun aber mehr und mehr auch die gesamte Standardkommunikation verschlüsselt wird, so entfällt zum einen das spezielle Herausstellungsmerkmal für die Ziele von Lauschangriffen, und zum anderen führt die schiere Menge der Daten dazu, dass auch der beste Geheimdienst diese kaum mehr wird entschlüsseln können. Aber wie gesagt, das gehört je nach persönlicher Anschauung in den Bereich der Politik bzw. Science Fiction.<br /><br />
'''Werbewirksamkeit:''' Wesentlich greifbarer, wenn auch nicht leicht direkt messbar, ist ein anderer Effekt einer auf https basierenden Website: sie wird bei identischem Inhalt von den relevanten Suchmaschinen im Ranking höher eingestuft als ihr http-Pendant. Wer also abseits von bezahlter Werbung auch im Content-Bereich von Google und Co. ganz oben erscheinen möchte, tut gut daran, sich entsprechend aufzustellen. Möglicherweise werden zudem auch Ihre Website-Besucher, je nach technischer Aufgeklärtheit, die Verschlüsselung der Kommunikation mit Ihrem Webserver als persönliche Wertschätzung empfinden.<br /><br />
'''Serverlast:''' Ein Nachteil der Verschlüsselung ist natürlich der höhere Aufwand für den Webserver bei der Auslieferung der Seiten: Durch die zusätzlich notwendige Verschlüsselungsprozedur für alle Inhalte steigt die Last für die Server CPU etwas an. Gerade bei stark frequentierten Seiten, die schon an der Lastgrenze des Servers arbeiten, sollte dieser Punkt berücksichtigt werden. Bei wenig ausgelasteten Seiten fällt dies jedoch nicht ins Gewicht.<br /><br />
'''Kosten für das Zertifikat:''' Wie oben beschrieben gibt es unterschiedliche Optionen, sowohl was die Zertifikatsgüte als auch ihre Laufzeit angeht. Weiterhin haben unterschiedliche Anbieter auch variierende Honorare, und zu guter Letzt beeinflusst auch die Reichweite des Zertifikats im Sinne der damit abgedeckten Sub-Domains den Preis. Generell kann man aber davon ausgehen, dass ein hochwertiges Zertifikat für eine „normale“ Unternehmenswebsite für wenige zig Euro pro Jahr zu haben ist, so dass diese Kosten kaum relevant für eine Umstellungsentscheidung sein dürften.<br /><br />
<br /><br />
=== '''Problemstellungen''' ===<br />
Generell ist die Umstellung einer bestehenden Website nach Beschaffung Ihres Zertifikats schnell erledigt. Es gilt jedoch einige Fallstricke zu beachten bzw. im Vorfeld sorgfältig zu analysieren. U.a. folgende Fragen sollten vor dem Start der Aktivitäten beantwortet sein:<br />
Ist das eingesetzte Content Management System (CMS) ohne weiteres in der Lage, mit dem geänderten Protokoll zu arbeiten? Werden z.B. Verlinkungen innerhalb Ihrer Website automatisch mit https generiert?<br />
Kann Ihr Webserver oder Ihr CMS so konfiguriert werden, dass alle http-Anfragen automatisch auf die identische Adresse mit https umgeleitet werden? Dies ist v.a. für externe Verlinkungen hilfreich, die Sie ggf. nicht alle ohne weiteres und zeitgleich umstellen können.<br />
Sind auf Ihrer Seite externe Inhalte eingebunden (z.B. Google Maps, Werbeflächen, etc.), deren Inhalte gar nicht von Ihrem eigenen Webserver ausgeliefert werden? Wenn ja, bieten die betreffenden Inhaltsanbieter die Möglichkeit, diese Inhalte auch per https einzubinden? Falls das nicht möglich sein sollte, kann es u.U. schwierig werden mit der Umstellung, weil dann nicht sichergestellt werden kann, dass die Website-Besucher tatsächlich alle Inhalte zu Gesicht bekommen und dabei nicht laufend von Browserwarnungen in die Flucht geschlagen werden. Tatsächlich ist dies der Hauptgrund, warum eine große Anzahl von sehr prominenten Websites heute noch nicht auf https umgestellt wurde: man möchte die lukrativen Werbeeinnahmen durch Drittanbietercontent nicht gefährden.<br /><br />
<br /><br />
=== '''Weitere Informationen''' ===<br />
https://www.max-it.de/softwareloesungen/<br /><br />
[[Datei:M.a.x. it https-Umstellung.pdf|miniatur|links]]<br /><br />
<br /><br />
<br />
=== '''Kontakt''' ===<br />
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /><br />
<br />
Über m.a.x. Informationstechnologie AG: <br /><br />
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /><br />
<br />
<br />
=== '''Tags''' ===<br />
Website, https, SSL, Webserver, Verschlüsselung, Zertifikat, Zertifizierungsstelle, Content Management System, CMS, Mixed Content, Privatsphäre, Extended Validation, https Umstellung, Sicherheit im Netz, https Umstellung München<br />
<br />
[[Kategorie: Internet]]</div>Ansp