For the pickled cabbage, dissolve the sugar and salt in the vinegar. Heat oil in a large pan, add onion and cook for 2 minutes to soften. Add cabbage, vinegar, water and caraway seeds, tossing well. Cover and cook on low heat for 15 minutes, mixing once halfway through. Transfer to a container with all the liquid, cool, then refrigerate for up to 2 weeks.
For the Russian dressing, mix all ingredients and refrigerate for up to 2 weeks.
For the homemade pastrami (optional), mix all spices together and sprinkle onto a tray. Pat the beef dry then roll in the spice mix, coating well all over. Wrap the beef in 2 sheets of foil, making sure the fat cap stays on top.
Place a small rack, or some balls of foil, in the base of a slow cooker to keep the beef up out of the juices that will accumulate on the bottom. Place beef into the slow cooker, cover with lid and cook for 10 hours on low. Remove beef, cool then refrigerate for 6 hours. Reserve the juices from the slow cooker and refrigerate.
Preheat oven to 180°C/350°F. Remove foil, place beef on a rack in a roasting pan and bake for 30 minutes until spice crust is set. Remove from oven, slice thinly. If re-warming, spoon the juices over and heat gently. Store for up to 5 days in refrigerator or freeze to use as needed.
To assemble the Reuben, preheat a grill to medium-high. Spread one side of bread slices with butter and toast lightly. Turn the slices over and spread generously with Russian dressing. Place pastrami slices on each piece, pile on some pickled cabbage, then top with cheese. You can layer this as much as you want.
Place under the grill until cheese is melty and sandwich is warm, sandwich 2 slices together and dig in!