Echter Hardware Raid Controller gesucht
Hallo liebe Leute,
Welcher Hardware Raid Controller ist Debian bzw Linuc geeignet und stellt KEINEN Softwareraid über das Bios bereit?
Angeschlossen werden sollen SATA SSD´s und am besten soll das ganze wie bei einem Intel P440xx laufen.
(Also Raid im Bios des Controllers bzw Raid Managment Software konfigurieren) und in Linux soll ein logisches Laufwerk erscheinen.
Irgendwie klappt das mit den Anforderungen dieses Servers und der Hardware nicht so wie ich mir das vorstelle und langsam gehen mir die Ideen aus.
- Die Kiste soll einen Hardware Raid bekommen
- Das Raid soll verschlüsselt sein
- kein Umständliches Softwareraid
- kein BIOS Softwareraid
Derzeitige Hardware
- Asus WS x299 Sage 10G
- 2x 1TB Samsung SSD (soll Raid 1 werden)
Ausgemusterte Hardware (weil einfach nicht lief)
- Highpoint SSD7202 -> fucking BIOS Softwareraid Controller
- 2x Samsung Evo 990 Pro nvme, weil siehe oben.
Gibts dazu was?
Ich danke herzlichst
Lucifor
Welcher Hardware Raid Controller ist Debian bzw Linuc geeignet und stellt KEINEN Softwareraid über das Bios bereit?
Angeschlossen werden sollen SATA SSD´s und am besten soll das ganze wie bei einem Intel P440xx laufen.
(Also Raid im Bios des Controllers bzw Raid Managment Software konfigurieren) und in Linux soll ein logisches Laufwerk erscheinen.
Irgendwie klappt das mit den Anforderungen dieses Servers und der Hardware nicht so wie ich mir das vorstelle und langsam gehen mir die Ideen aus.
- Die Kiste soll einen Hardware Raid bekommen
- Das Raid soll verschlüsselt sein
- kein Umständliches Softwareraid
- kein BIOS Softwareraid
Derzeitige Hardware
- Asus WS x299 Sage 10G
- 2x 1TB Samsung SSD (soll Raid 1 werden)
Ausgemusterte Hardware (weil einfach nicht lief)
- Highpoint SSD7202 -> fucking BIOS Softwareraid Controller
- 2x Samsung Evo 990 Pro nvme, weil siehe oben.
Gibts dazu was?
Ich danke herzlichst
Lucifor
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7778365804
Url: https://administrator.de/forum/echter-hardware-raid-controller-gesucht-7778365804.html
Ausgedruckt am: 24.12.2024 um 13:12 Uhr
16 Kommentare
Neuester Kommentar
Ein tauglicher Weg sind die Hardware-RAID-Controller von Adaptec. Zu diesen Controllern gibt es, sofern sie nicht bereits über den Linux-Kernel nativ unterstützt werden, auch downloadbare Treiber.
Ansonsten machen diese Adaptec-Controller (z.B. 6405 (4 Kanäle, SATA SSD) oder 71605Q (16 Känäle, SATA SSD) oder ein neueres Exemplar aus der 8er Serie) genau das, was Du willst. Während des Bootvorgangs des Rechners kannst Du per Strg-A das BIOS des Controllers aufrufen. Dort erstellst, verwaltest und löschst Du Deine RAID-Arrays nach Belieben. Die erstellten Arrays (= logische Laufwerke) behandelt das BIOS des Motherboards so, als ob es sich um physische JBOD-Laufwerke handeln würde. Zugleich ist das die spätere Sicht des Betriebssystems, das direkt auf dem Blech läuft.
Die Verschlüsselung eines erstellten RAID-Laufwerks machst Du auf der Ebene (der Installation) des Betriebssystems (z.B. BitLocker, VeraCrypt). Auch dabei unterscheidet sich das logische Laufwerk nicht von einer einzelnen physischen JBOD-Platte.
Viele Grüße
HansDampf06
Ansonsten machen diese Adaptec-Controller (z.B. 6405 (4 Kanäle, SATA SSD) oder 71605Q (16 Känäle, SATA SSD) oder ein neueres Exemplar aus der 8er Serie) genau das, was Du willst. Während des Bootvorgangs des Rechners kannst Du per Strg-A das BIOS des Controllers aufrufen. Dort erstellst, verwaltest und löschst Du Deine RAID-Arrays nach Belieben. Die erstellten Arrays (= logische Laufwerke) behandelt das BIOS des Motherboards so, als ob es sich um physische JBOD-Laufwerke handeln würde. Zugleich ist das die spätere Sicht des Betriebssystems, das direkt auf dem Blech läuft.
Die Verschlüsselung eines erstellten RAID-Laufwerks machst Du auf der Ebene (der Installation) des Betriebssystems (z.B. BitLocker, VeraCrypt). Auch dabei unterscheidet sich das logische Laufwerk nicht von einer einzelnen physischen JBOD-Platte.
Viele Grüße
HansDampf06
PS:
1. Natürlich gibt es von Adaptec auch Tools, um auf Betriebssystemebene per CLI oder Webinterface die Verwaltung der Arrays machen zu können.
2. Überdies haben die RAID-Controller von Adaptec den Vorteil, dass Du ein Batteriemodul anschließen kannst. Das schützt Schreiboperationen und somit die Konsistenz der Arrays bei einem plötzlichen Stromausfall oder Rechnerabsturz, so dass die Ausführung dieser Operationen mehrere Stunden gepuffert werden kann. Das ist insbesondere dann interessant, wenn die Schreibcache-Funktion des RAID-Controllers zur Performance-Steigerung aktiviert werden sollte.
PPS:
Ich habe hier zwei 6405er mit Batteriemodul über, falls Interesse bestehen sollte.
1. Natürlich gibt es von Adaptec auch Tools, um auf Betriebssystemebene per CLI oder Webinterface die Verwaltung der Arrays machen zu können.
2. Überdies haben die RAID-Controller von Adaptec den Vorteil, dass Du ein Batteriemodul anschließen kannst. Das schützt Schreiboperationen und somit die Konsistenz der Arrays bei einem plötzlichen Stromausfall oder Rechnerabsturz, so dass die Ausführung dieser Operationen mehrere Stunden gepuffert werden kann. Das ist insbesondere dann interessant, wenn die Schreibcache-Funktion des RAID-Controllers zur Performance-Steigerung aktiviert werden sollte.
PPS:
Ich habe hier zwei 6405er mit Batteriemodul über, falls Interesse bestehen sollte.
Auch die Controller von LSI/Broadcom können sowas. Sind meist ein klein wenig teurer, aber oft auch ein klein wenig schneller. Auch hier kannst du bei Bedarf BBUs/Cachemodule anschließen.
https://adaptec.com/de-de/products/smartraid/3100/
Dafür gibt es Treiber für Debian 10+11 laufen sicher auch unter 12.
https://www.broadcom.com/products/storage/raid-controllers/megaraid-9560 ...
https://adaptec.com/de-de/products/smartraid/3100/
Dafür gibt es Treiber für Debian 10+11 laufen sicher auch unter 12.
https://www.broadcom.com/products/storage/raid-controllers/megaraid-9560 ...
Aber ohne Treiber wird Hardware nun mal nicht erkannt. Für das Ansprechen brauchst du immer eine Art Treiber und wenn ihn der Kernel mitbringt.
Wenn du einen neuen Controller einbaust (ich denke nach deinen Schilderungen wirst du es machen und nicht dein Bekannter ) musst du die Kiste ja eh neu machen. Das macht du ja vermutlich über ein Livesystem. Das kann sich den Treiber dann sicher ziehen, sollte er nicht im Kernel sein.
Ich bin allerdings kein Linux-Experte, daher kann ich nicht garantieren ob das Livesystem das tatsächlich kann und tut ;)
Sagt man nicht aber auch dass Linux Mint was den Hardwaresupport betrifft recht gut ist? Was spricht da dagegen bzw. ausgerechnet für Debian für den Bekannten?
Ich bin allerdings kein Linux-Experte, daher kann ich nicht garantieren ob das Livesystem das tatsächlich kann und tut ;)
Sagt man nicht aber auch dass Linux Mint was den Hardwaresupport betrifft recht gut ist? Was spricht da dagegen bzw. ausgerechnet für Debian für den Bekannten?
Also zur generellen Klarstellung:
1. Jedes Device, das vom Betriebssystem irgendwie angesprochen werden soll, benötigt einen Treiber. Entweder gibt es (a) einen solchen speziell vom Hersteller oder (b) der Ersteller des Betriebssystems hat einen solchen passenden Treiber integriert oder (c) das Betriebssystem greift auf einen generellen Treiber zurück. Generelle Treiber funktionieren zumeist, weil alle Devices irgendwelchen Standards unterfallen, auf die der generelle Treiber abstellt. Negative Kehrseite ist dann, dass der generelle Treiber die speziellen Funktionen des Devices nicht unterstützt oder je nach Standardkonformität des Devices sogar Probleme hat.
2. Dies vorausgeschickt ist doch eines ganz klar: Der Bootloader muss den RAID-Controller (mittels des Board-BIOS) nativ unterstützen, weil ansonsten gar kein Booten möglich wäre. Ein Treiber wird in aller Regel in diesem Moment noch gar nicht geladen, so dass es immer um eine generelle Ansteuerung geht. Nur so kann der Bootloader überhaupt den eigentlichen Betriebssystemkernel hochbringen.
Auch der Kernel kann nicht alle Gerätetreiber zur gleichen Zeit laden, sondern nur sukzessive. Bis der etwaige Treiber für den RAID-Controller dran ist, muss gleichwohl der Zugriff auf das Systemlaufwerk weiterhin funktionieren - schon allein, um diesen Treiber überhaupt von Platte lesen zu können.
Mit anderen Worten: Das Betriebssystem wird immer von einem Hardware-RAID-Laufwerk starten. Eine ganz andere Frage ist, ob das Betriebssystem mangels eines speziellen Treibers für den RAID-Controller nach dem Hochfahren dann auch stabil funktioniert.
3. Wenn der Bekannte Debian selbst installieren soll und dafür nur geringfügige Fähigkeiten mitbringt, dann ist folgende Vorgehensweise ans Herz zu legen: Er startet Debian von einer aktuellen Live-CD, und zwar als Live-System. Ist das Live-Debian gestartet, dann öffnet er ein Terminalfenster und bringt per apt update etc. ersteinmal das Live-System auf den aktuellsten Stand. Erst danach doppelklickt er auf dem Desktop auf das Symbol der Installationsroutine, die ihn zum Ergebnis der Neuinstallation führt. Sobald die neue Installation das erste Mal gestartet ist, gehört die Wiederholung der Übung mit dem Terminalfenster zur Pflichtübung. Spätestens ab diesem Zeitpunkt kann das neue System per Fernwartung auf den Empfang der erforderlichen Treiber vorbereitet werden und so weiter ...
Übrigens:
a) Das Live-System ist bei seinem Start und / oder seinem Update in der Lage zu erkennen, ob eine spezielle Firmware (der Begriff für Treiber) benötigt wird, und kann diese Firmware nachladen. Die Installationsroutine des neuen Betriebssystems übernimmt dann regelmäßig diese Firmwareerfordernisse automatisch.
b) Auf der Ebene des Live-Systems stehen alle Medien wie USB-Stick zur Nutzung zur Verfügung. Gleichfalls ist ein FireFox an Board. Somit können etwaige spezielle Treiber direkt zugespielt werden.
4. All das muss man bei genauerer Betrachtung auch bei der Installation von Windows in ähnlicher Weise machen.
5. Weil VeraCrypt unter Linux bisher nicht für das Systemlaufwerk verfügbar ist, ist eine Verschlüsselung des Systemlaufwerks unter Linus nicht trivial, zumal das vor der eigentlichen Installation des neuen Betriebssystems eingerichtet werden muss. Die Installationsroutine des Live-Systems bietet hier Optionen. Der Erinnerung nach war ich damit aber nicht sonderlich glücklich, so dass ich es letztlich händisch eingerichtet hatte. Das war durchaus anspruchsvoll, bis es so klappte, wie es mir in den Kopf gesetzt hatte. Für einen Unbeleckten halte ich es für eher nicht realisierbar.
Viele Grüße
HansDampf06
PS: Ich habe noch nicht probiert, ob man ein Live-System remote steuern kann. Eigentlich sollte das gehen. Vielleicht ist das ja bei allen vorhandenen Einschränkungen und Schwierigkeiten eine Option.
1. Jedes Device, das vom Betriebssystem irgendwie angesprochen werden soll, benötigt einen Treiber. Entweder gibt es (a) einen solchen speziell vom Hersteller oder (b) der Ersteller des Betriebssystems hat einen solchen passenden Treiber integriert oder (c) das Betriebssystem greift auf einen generellen Treiber zurück. Generelle Treiber funktionieren zumeist, weil alle Devices irgendwelchen Standards unterfallen, auf die der generelle Treiber abstellt. Negative Kehrseite ist dann, dass der generelle Treiber die speziellen Funktionen des Devices nicht unterstützt oder je nach Standardkonformität des Devices sogar Probleme hat.
2. Dies vorausgeschickt ist doch eines ganz klar: Der Bootloader muss den RAID-Controller (mittels des Board-BIOS) nativ unterstützen, weil ansonsten gar kein Booten möglich wäre. Ein Treiber wird in aller Regel in diesem Moment noch gar nicht geladen, so dass es immer um eine generelle Ansteuerung geht. Nur so kann der Bootloader überhaupt den eigentlichen Betriebssystemkernel hochbringen.
Auch der Kernel kann nicht alle Gerätetreiber zur gleichen Zeit laden, sondern nur sukzessive. Bis der etwaige Treiber für den RAID-Controller dran ist, muss gleichwohl der Zugriff auf das Systemlaufwerk weiterhin funktionieren - schon allein, um diesen Treiber überhaupt von Platte lesen zu können.
Mit anderen Worten: Das Betriebssystem wird immer von einem Hardware-RAID-Laufwerk starten. Eine ganz andere Frage ist, ob das Betriebssystem mangels eines speziellen Treibers für den RAID-Controller nach dem Hochfahren dann auch stabil funktioniert.
3. Wenn der Bekannte Debian selbst installieren soll und dafür nur geringfügige Fähigkeiten mitbringt, dann ist folgende Vorgehensweise ans Herz zu legen: Er startet Debian von einer aktuellen Live-CD, und zwar als Live-System. Ist das Live-Debian gestartet, dann öffnet er ein Terminalfenster und bringt per apt update etc. ersteinmal das Live-System auf den aktuellsten Stand. Erst danach doppelklickt er auf dem Desktop auf das Symbol der Installationsroutine, die ihn zum Ergebnis der Neuinstallation führt. Sobald die neue Installation das erste Mal gestartet ist, gehört die Wiederholung der Übung mit dem Terminalfenster zur Pflichtübung. Spätestens ab diesem Zeitpunkt kann das neue System per Fernwartung auf den Empfang der erforderlichen Treiber vorbereitet werden und so weiter ...
Übrigens:
a) Das Live-System ist bei seinem Start und / oder seinem Update in der Lage zu erkennen, ob eine spezielle Firmware (der Begriff für Treiber) benötigt wird, und kann diese Firmware nachladen. Die Installationsroutine des neuen Betriebssystems übernimmt dann regelmäßig diese Firmwareerfordernisse automatisch.
b) Auf der Ebene des Live-Systems stehen alle Medien wie USB-Stick zur Nutzung zur Verfügung. Gleichfalls ist ein FireFox an Board. Somit können etwaige spezielle Treiber direkt zugespielt werden.
4. All das muss man bei genauerer Betrachtung auch bei der Installation von Windows in ähnlicher Weise machen.
5. Weil VeraCrypt unter Linux bisher nicht für das Systemlaufwerk verfügbar ist, ist eine Verschlüsselung des Systemlaufwerks unter Linus nicht trivial, zumal das vor der eigentlichen Installation des neuen Betriebssystems eingerichtet werden muss. Die Installationsroutine des Live-Systems bietet hier Optionen. Der Erinnerung nach war ich damit aber nicht sonderlich glücklich, so dass ich es letztlich händisch eingerichtet hatte. Das war durchaus anspruchsvoll, bis es so klappte, wie es mir in den Kopf gesetzt hatte. Für einen Unbeleckten halte ich es für eher nicht realisierbar.
Viele Grüße
HansDampf06
PS: Ich habe noch nicht probiert, ob man ein Live-System remote steuern kann. Eigentlich sollte das gehen. Vielleicht ist das ja bei allen vorhandenen Einschränkungen und Schwierigkeiten eine Option.
Zitat von @Ra1976:
Ich hab versucht den ganzen Kram bei mir in einer VM nachzustellen und tatsächlich ist bei Softwareraid in Verbindung mit Verschlüsselung Ende. Entweder Raid oder Verschlüsselung aber nicht beides.
Was für ein Unsinn! Wenn Du ein einfacher User wärst, ok. Es wäre auch völlig ok, wenn jemand/Du mit dem Task verschlüsseltes Software-RAID nicht klar gekommen (b)ist. Ggf. sucht man halt Hilfe. Geht uns allen so. Niemand kann alles.Ich hab versucht den ganzen Kram bei mir in einer VM nachzustellen und tatsächlich ist bei Softwareraid in Verbindung mit Verschlüsselung Ende. Entweder Raid oder Verschlüsselung aber nicht beides.
Bevor man aber als jemand, der sich selbst im Profil als Informatiker und Administrator beschreibt, - in einem Administrator-Forum - das eigene Unvermögen als Fehler des OS präsentiert, könnte man auch zweimal überlegen, ob da nicht die eigene Nase im Weg ist. Man muss - zumindest in diesem Forum - nicht jeden Mist schreiben - es könnte ja jemand glauben, der diesen Thread findet, weil er denkt, hier sind Leute mit Kenntnissen unterwegs.
Ich gönne Deinem Kumpel das HW-RAID, auch wenn es in 99% der Fälle, wo es verwendet wird, völlig überflüssig ist und es spätestens dann spannend wird, wenn der Controller nach >5 Jahren abraucht und Dein Kumpel dann panisch nach baugleichem Ersatz sucht, um die Verschlüsselung zu entschlüsseln
Für alle anderen gilt:
Linux Software-RAID ist standardisiert, gängig und voll funktional (und sehr performant, sogar extrem performant, wenn man es mit einem NVME-Cache ergänzt), ob verschlüsselt oder nicht. Das kannst Du in hunderten Links lesen (und auch selbst nachbauen), z.B.
Sehr ausführlich: https://erkinekici.com/articles/secure-software-raid-guide-on-linux/#enc ...
oder hier: https://linuxgazette.net/140/pfeiffer.html
oder hier: https://blog.stefan-koch.name/2019/12/30/verschluesseltes-lvm-mit-raid
oder hier: https://superuser.com/questions/1038411/debian-encrypted-raid-1-setup
oder hier: https://community.hetzner.com/tutorials/install-debian-11-with-lvm-encry ...
oder hier: https://blog.adriaan.io/install-ubuntu-server-18-04-4-with-raid-1-encryp ...
Und wenn Du Hilfe dazu brauchst, frag doch einfach erst, bevor Du gleich in den System-Bashing-Mode schaltest. Ist generell eine ganz gute Haltung, "Fehler" mehr bei sich zu suchen, als bei anderen
Viele Grüße, commodity
Zitat von @commodity:
Ich gönne Deinem Kumpel das HW-RAID, auch wenn es in 99% der Fälle, wo es verwendet wird, völlig überflüssig ist
Die Sichtweise auf die Verwendung eines Hardware-RAID ist meinem Eindruck beinahe wie eine Glaubensfrage: Man muss sich entscheiden, welcher "Konfession" man angehört. Eines kann ein Software-RAID (und auch ein Onboard-Hardware-RAID des Mainboards) definitiv nicht liefern und das ist die Batteriepufferung (siehe oben meine kurze Erläuterung dazu).Ich gönne Deinem Kumpel das HW-RAID, auch wenn es in 99% der Fälle, wo es verwendet wird, völlig überflüssig ist
Insoweit kommt natürlich in Betracht, alle Platten an einem Hardware-RAID-Controller als JBOD-Platten anzuschließen, um in den Genuss der Batteriepufferung zu kommen. Was dann das Betriebssystem etc. mit diesen Platten veranstaltet ist, ob (performantes) Software-RAID oder nicht. Fraglich ist dann gleichwohl, ob sich Aufwand und Nutzen noch rechtfertigen lassen.
Ein weiterer Aspekt ist bei all diesen RAID-Betrachtungen, ob das Mainboard überhaupt in der Lage ist, den gewünschten / benötigten Datendurchsatz zu liefern. Auch hier muss genau untersucht werden, ob ein konkreter Hardware-RAID-Controller nicht manches schon direkt selbst erledigt und dafür gar nicht das PCIe-Bussystem in Anspruch nimmt. Schließlich darf nicht übersehen werden, dass ein Software-RAID zwar durchaus perfomant sein kann, aber dennoch die CPU bzw. den umgebenden Chipsatz belastet. Hier kann der Prozessor auf dem Controller eine echte Entlastung bieten, wenn es sich um ein gescheites Teil handelt.
Mit anderen Worten: Mir erscheint eine pauschale Aussage, die ein Software- und / oder Hardware-RAID pauschal abwertet, als wenig sinnvoll. In diesem Zusammenhang verstehe ich Dich dahingehend, dass Deine Annahme der Überflüssigkeit eines Hardware-RAID's von der generellen Bevorzugung eines Software-RAID's herrührt.
spätestens dann spannend wird, wenn der Controller nach >5 Jahren abraucht und Dein Kumpel dann panisch nach baugleichem Ersatz sucht, um die Verschlüsselung zu entschlüsseln
Es ist richtig, dass es beim Ausfall des Controllers ein Problem darstellt, danach wieder auf das RAID zugreifen zu können, wenn kein baugleicher Ersatz vorhanden ist.Aber warum kann / wird ein solcher Controller nach einer gewissen Zeit abfackeln? Für die Antwort darauf will ich mich aus meinem gestrigen Kommentar in einer anderen Fragerunde einmal selbst zitieren (die Hervorhebungen von mir an dieser Stelle):
Das ganze war aber in einem klimatisierten Serverraum.
Das kannst Du zwanglos auch außerhalb eines nicht klimatisierten Serverraums beobachten. Der entscheidende Punkt ist nämlich nicht, dass voller Aktionismus irgendwelche Orkane durchs Gehäuse gejagt werden, sondern dass die kritischen Bereiche einem stetigen Luftstrom ausgesetzt sind. Dieser Luftstrom muss noch nicht einmal allzu stark sein. Entscheidend ist das kontinuierliche Überstreifen der Kühlerflächen mit einem hinreichenden Luftstrom. Daher ist ein wichtiges Augenmerk den bautechnischen Nischen zu widmen, weil sich dort trotz eines Orkans im Gehäuse kritische Hitzenester bilden können. Wenn man sich dessen bewusst ist, ...Wieviele Normaluser befassen sich mit einer solch tieferen Betrachtung? Wenn überhaupt, wohl nur die wenigsten. Allein deshalb sterben die Controller dann weg - bei der Grafikkarte wird das denselben Usern höchstwahrscheinlich nicht passieren, weil sie dort hinreichend sensibilisiert sind.
Viele Grüße
HansDampf06
Zitat von @HansDampf06:
Die Sichtweise auf die Verwendung eines Hardware-RAID ist meinem Eindruck beinahe wie eine Glaubensfrage
Es lag mir völlig fern, hier eine Glaubensdiskussion anzuzetteln. Meine Aussage bezog sich allein auf die Setups, die es (unnötiger Weise) nutzen:Die Sichtweise auf die Verwendung eines Hardware-RAID ist meinem Eindruck beinahe wie eine Glaubensfrage
auch wenn es in 99% der Fälle, wo es verwendet wird, völlig überflüssig ist
Gemeint sind die Setups, die hier aufschlagen, natürlich nicht Rechenzentren oder Großunternehmen. In den meisten "normalen" Setups schlummern die Server eher vor sich hin und SW-RAID bringt zudem kaum Last, ergo wird es dort nicht gebraucht. Der Sinn der Batteriepufferung ist in diesen Umgebungen, die fast ausnahmslos mit USV laufen ebenso fraglich. Es mag Usecases geben, real bleibe ich aber bei dem einen Prozent (wenn man die Rechenzentren außen vor lässt).Wer dennoch einen mag, das Geld übrig hat und die Nerven, was den (immer) möglichen Ausfall angeht, mag einen einsetzen Der TO setzt ja selbst SW-RAID ein und kennt das Thema. Es ist IMO technisch Unsinn, deshalb ein HW-RAID deswegen einzusetzen, weil man ein SW-RAID fehlerhaft konfiguriert hat. Im konkreten Fall mag das menschlich dennoch sinnhaft sein, wenn es auf diese Weise funktioniert.
Viele Grüße, commodity